mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 00:30:49 +00:00
Rename FileSyncGuard to DirectorySyncGuard
This commit is contained in:
parent
798fb4e842
commit
b1f08f5c27
@ -1,4 +1,4 @@
|
||||
#include <Common/FileSyncGuard.h>
|
||||
#include <Common/DirectorySyncGuard.h>
|
||||
#include <Common/Exception.h>
|
||||
#include <Disks/IDisk.h>
|
||||
#include <fcntl.h> // O_RDWR
|
||||
@ -11,12 +11,12 @@
|
||||
namespace DB
|
||||
{
|
||||
|
||||
FileSyncGuard::FileSyncGuard(const DiskPtr & disk_, const String & path)
|
||||
DirectorySyncGuard::DirectorySyncGuard(const DiskPtr & disk_, const String & path)
|
||||
: disk(disk_)
|
||||
, fd(disk_->open(path, O_DIRECTORY))
|
||||
{}
|
||||
|
||||
FileSyncGuard::~FileSyncGuard()
|
||||
DirectorySyncGuard::~DirectorySyncGuard()
|
||||
{
|
||||
try
|
||||
{
|
@ -13,14 +13,14 @@ using DiskPtr = std::shared_ptr<IDisk>;
|
||||
/// It's used to keep descriptor open, while doing some operations with it, and do fsync at the end.
|
||||
/// Guaranties of sequence 'close-reopen-fsync' may depend on kernel version.
|
||||
/// Source: linux-fsdevel mailing-list https://marc.info/?l=linux-fsdevel&m=152535409207496
|
||||
class FileSyncGuard
|
||||
class DirectorySyncGuard
|
||||
{
|
||||
public:
|
||||
/// NOTE: If you have already opened descriptor, it's preferred to use
|
||||
/// this constructor instead of constructor with path.
|
||||
FileSyncGuard(const DiskPtr & disk_, int fd_) : disk(disk_), fd(fd_) {}
|
||||
FileSyncGuard(const DiskPtr & disk_, const std::string & path);
|
||||
~FileSyncGuard();
|
||||
DirectorySyncGuard(const DiskPtr & disk_, int fd_) : disk(disk_), fd(fd_) {}
|
||||
DirectorySyncGuard(const DiskPtr & disk_, const std::string & path);
|
||||
~DirectorySyncGuard();
|
||||
|
||||
private:
|
||||
DiskPtr disk;
|
@ -5,7 +5,7 @@
|
||||
#include <Disks/SingleDiskVolume.h>
|
||||
#include <Common/CurrentMetrics.h>
|
||||
#include <Common/NetException.h>
|
||||
#include <Common/FileSyncGuard.h>
|
||||
#include <Common/DirectorySyncGuard.h>
|
||||
#include <DataStreams/NativeBlockOutputStream.h>
|
||||
#include <IO/HTTPCommon.h>
|
||||
#include <ext/scope_guard.h>
|
||||
@ -398,7 +398,7 @@ MergeTreeData::MutableDataPartPtr Fetcher::downloadPartToDisk(
|
||||
|
||||
disk->createDirectories(part_download_path);
|
||||
|
||||
std::optional<FileSyncGuard> sync_guard;
|
||||
std::optional<DirectorySyncGuard> sync_guard;
|
||||
if (data.getSettings()->fsync_part_directory)
|
||||
sync_guard.emplace(disk, part_download_path);
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
#include <Storages/MergeTree/checkDataPart.h>
|
||||
#include <Common/StringUtils/StringUtils.h>
|
||||
#include <Common/escapeForFileName.h>
|
||||
#include <Common/FileSyncGuard.h>
|
||||
#include <Common/DirectorySyncGuard.h>
|
||||
#include <common/JSON.h>
|
||||
#include <common/logger_useful.h>
|
||||
#include <Compression/getCompressionCodecForFile.h>
|
||||
@ -859,7 +859,7 @@ void IMergeTreeDataPart::renameTo(const String & new_relative_path, bool remove_
|
||||
volume->getDisk()->moveFile(from, to);
|
||||
relative_path = new_relative_path;
|
||||
|
||||
std::optional<FileSyncGuard> sync_guard;
|
||||
std::optional<DirectorySyncGuard> sync_guard;
|
||||
if (storage.getSettings()->fsync_part_directory)
|
||||
sync_guard.emplace(volume->getDisk(), to);
|
||||
}
|
||||
|
@ -29,7 +29,7 @@
|
||||
#include <Common/interpolate.h>
|
||||
#include <Common/typeid_cast.h>
|
||||
#include <Common/escapeForFileName.h>
|
||||
#include <Common/FileSyncGuard.h>
|
||||
#include <Common/DirectorySyncGuard.h>
|
||||
#include <Parsers/queryToString.h>
|
||||
|
||||
#include <cmath>
|
||||
@ -780,7 +780,7 @@ MergeTreeData::MutableDataPartPtr MergeTreeDataMergerMutator::mergePartsToTempor
|
||||
gathering_column_names.clear();
|
||||
}
|
||||
|
||||
std::optional<FileSyncGuard> sync_guard;
|
||||
std::optional<DirectorySyncGuard> sync_guard;
|
||||
if (data.getSettings()->fsync_part_directory)
|
||||
sync_guard.emplace(disk, new_part_tmp_path);
|
||||
|
||||
@ -1182,7 +1182,7 @@ MergeTreeData::MutableDataPartPtr MergeTreeDataMergerMutator::mutatePartToTempor
|
||||
|
||||
disk->createDirectories(new_part_tmp_path);
|
||||
|
||||
std::optional<FileSyncGuard> sync_guard;
|
||||
std::optional<DirectorySyncGuard> sync_guard;
|
||||
if (data.getSettings()->fsync_part_directory)
|
||||
sync_guard.emplace(disk, new_part_tmp_path);
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include <IO/WriteHelpers.h>
|
||||
#include <Poco/File.h>
|
||||
#include <Common/typeid_cast.h>
|
||||
#include <Common/FileSyncGuard.h>
|
||||
#include <Common/DirectorySyncGuard.h>
|
||||
|
||||
#include <Parsers/queryToString.h>
|
||||
|
||||
@ -362,7 +362,7 @@ MergeTreeData::MutableDataPartPtr MergeTreeDataWriter::writeTempPart(BlockWithPa
|
||||
new_data_part->minmax_idx = std::move(minmax_idx);
|
||||
new_data_part->is_temp = true;
|
||||
|
||||
std::optional<FileSyncGuard> sync_guard;
|
||||
std::optional<DirectorySyncGuard> sync_guard;
|
||||
if (new_data_part->isStoredOnDisk())
|
||||
{
|
||||
/// The name could be non-unique in case of stale files from previous runs.
|
||||
|
Loading…
Reference in New Issue
Block a user