Distributed/DirectoryMonitor: Use std::lock_guard over std::unique_lock

It is more natural, since we do not need lazy locking.
This commit is contained in:
Azat Khuzhin 2021-01-26 21:45:37 +03:00
parent fcf49a4914
commit 017c054a35

View File

@ -276,7 +276,7 @@ void StorageDistributedDirectoryMonitor::flushAllData()
if (quit) if (quit)
return; return;
std::unique_lock lock{mutex}; std::lock_guard lock{mutex};
const auto & files = getFiles(); const auto & files = getFiles();
if (!files.empty()) if (!files.empty())
@ -303,7 +303,7 @@ void StorageDistributedDirectoryMonitor::shutdownAndDropAllData()
void StorageDistributedDirectoryMonitor::run() void StorageDistributedDirectoryMonitor::run()
{ {
std::unique_lock lock{mutex}; std::lock_guard lock{mutex};
bool do_sleep = false; bool do_sleep = false;
while (!quit) while (!quit)
@ -320,12 +320,12 @@ void StorageDistributedDirectoryMonitor::run()
{ {
do_sleep = !processFiles(files); do_sleep = !processFiles(files);
std::unique_lock metrics_lock(metrics_mutex); std::lock_guard metrics_lock(metrics_mutex);
last_exception = std::exception_ptr{}; last_exception = std::exception_ptr{};
} }
catch (...) catch (...)
{ {
std::unique_lock metrics_lock(metrics_mutex); std::lock_guard metrics_lock(metrics_mutex);
do_sleep = true; do_sleep = true;
++error_count; ++error_count;
@ -344,7 +344,7 @@ void StorageDistributedDirectoryMonitor::run()
const auto now = std::chrono::system_clock::now(); const auto now = std::chrono::system_clock::now();
if (now - last_decrease_time > decrease_error_count_period) if (now - last_decrease_time > decrease_error_count_period)
{ {
std::unique_lock metrics_lock(metrics_mutex); std::lock_guard metrics_lock(metrics_mutex);
error_count /= 2; error_count /= 2;
last_decrease_time = now; last_decrease_time = now;
@ -456,7 +456,7 @@ std::map<UInt64, std::string> StorageDistributedDirectoryMonitor::getFiles() con
metric_pending_files.changeTo(files.size()); metric_pending_files.changeTo(files.size());
{ {
std::unique_lock metrics_lock(metrics_mutex); std::lock_guard metrics_lock(metrics_mutex);
if (files_count != files.size()) if (files_count != files.size())
LOG_TRACE(log, "Files set to {} (was {})", files.size(), files_count); LOG_TRACE(log, "Files set to {} (was {})", files.size(), files_count);
@ -757,7 +757,7 @@ bool StorageDistributedDirectoryMonitor::addAndSchedule(size_t file_size, size_t
return false; return false;
{ {
std::unique_lock metrics_lock(metrics_mutex); std::lock_guard metrics_lock(metrics_mutex);
/// TODO: extend CurrentMetrics::Increment /// TODO: extend CurrentMetrics::Increment
metric_pending_files.sub(-1); metric_pending_files.sub(-1);
bytes_count += file_size; bytes_count += file_size;
@ -769,7 +769,7 @@ bool StorageDistributedDirectoryMonitor::addAndSchedule(size_t file_size, size_t
StorageDistributedDirectoryMonitor::Status StorageDistributedDirectoryMonitor::getStatus() const StorageDistributedDirectoryMonitor::Status StorageDistributedDirectoryMonitor::getStatus() const
{ {
std::unique_lock metrics_lock(metrics_mutex); std::lock_guard metrics_lock(metrics_mutex);
return Status{ return Status{
path, path,
@ -897,8 +897,7 @@ void StorageDistributedDirectoryMonitor::markAsBroken(const std::string & file_p
Poco::File file(file_path); Poco::File file(file_path);
{ {
/// TODO: guard_lock std::lock_guard metrics_lock(metrics_mutex);
std::unique_lock metrics_lock(metrics_mutex);
size_t file_size = file.getSize(); size_t file_size = file.getSize();
--files_count; --files_count;
@ -914,7 +913,7 @@ void StorageDistributedDirectoryMonitor::markAsSend(const std::string & file_pat
Poco::File file(file_path); Poco::File file(file_path);
{ {
std::unique_lock metrics_lock(metrics_mutex); std::lock_guard metrics_lock(metrics_mutex);
size_t file_size = file.getSize(); size_t file_size = file.getSize();
--files_count; --files_count;
@ -948,7 +947,7 @@ void StorageDistributedDirectoryMonitor::updatePath(const std::string & new_rela
std::lock_guard lock{mutex}; std::lock_guard lock{mutex};
{ {
std::unique_lock metrics_lock(metrics_mutex); std::lock_guard metrics_lock(metrics_mutex);
relative_path = new_relative_path; relative_path = new_relative_path;
path = disk->getPath() + relative_path + '/'; path = disk->getPath() + relative_path + '/';
} }