mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-16 11:22:12 +00:00
Deprecate delete-on-destroy.txt, do not create it any more
This commit is contained in:
parent
abe0cfd10f
commit
c1c6955374
@ -953,24 +953,9 @@ void IMergeTreeDataPart::writeVersionMetadata(const VersionMetadata & version_,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void IMergeTreeDataPart::writeDeleteOnDestroyMarker()
|
|
||||||
{
|
|
||||||
static constexpr auto marker_path = "delete-on-destroy.txt";
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
getDataPartStorage().createFile(marker_path);
|
|
||||||
}
|
|
||||||
catch (Poco::Exception & e)
|
|
||||||
{
|
|
||||||
LOG_ERROR(storage.log, "{} (while creating DeleteOnDestroy marker: {})",
|
|
||||||
e.what(), (fs::path(getDataPartStorage().getFullPath()) / marker_path).string());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void IMergeTreeDataPart::removeDeleteOnDestroyMarker()
|
void IMergeTreeDataPart::removeDeleteOnDestroyMarker()
|
||||||
{
|
{
|
||||||
getDataPartStorage().removeFileIfExists("delete-on-destroy.txt");
|
getDataPartStorage().removeFileIfExists(DELETE_ON_DESTROY_MARKER_FILE_NAME_DEPRECATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IMergeTreeDataPart::removeVersionMetadata()
|
void IMergeTreeDataPart::removeVersionMetadata()
|
||||||
|
@ -381,7 +381,8 @@ public:
|
|||||||
/// default will be stored in this file.
|
/// default will be stored in this file.
|
||||||
static inline constexpr auto DEFAULT_COMPRESSION_CODEC_FILE_NAME = "default_compression_codec.txt";
|
static inline constexpr auto DEFAULT_COMPRESSION_CODEC_FILE_NAME = "default_compression_codec.txt";
|
||||||
|
|
||||||
static inline constexpr auto DELETE_ON_DESTROY_MARKER_FILE_NAME = "delete-on-destroy.txt";
|
/// "delete-on-destroy.txt" is deprecated. It is no longer being created, only is removed.
|
||||||
|
static inline constexpr auto DELETE_ON_DESTROY_MARKER_FILE_NAME_DEPRECATED = "delete-on-destroy.txt";
|
||||||
|
|
||||||
static inline constexpr auto UUID_FILE_NAME = "uuid.txt";
|
static inline constexpr auto UUID_FILE_NAME = "uuid.txt";
|
||||||
|
|
||||||
@ -456,8 +457,10 @@ public:
|
|||||||
|
|
||||||
void writeChecksums(const MergeTreeDataPartChecksums & checksums_, const WriteSettings & settings);
|
void writeChecksums(const MergeTreeDataPartChecksums & checksums_, const WriteSettings & settings);
|
||||||
|
|
||||||
void writeDeleteOnDestroyMarker();
|
/// "delete-on-destroy.txt" is deprecated. It is no longer being created, only is removed.
|
||||||
|
/// TODO: remove this method after some time.
|
||||||
void removeDeleteOnDestroyMarker();
|
void removeDeleteOnDestroyMarker();
|
||||||
|
|
||||||
/// It may look like a stupid joke. but these two methods are absolutely unrelated.
|
/// It may look like a stupid joke. but these two methods are absolutely unrelated.
|
||||||
/// This one is about removing file with metadata about part version (for transactions)
|
/// This one is about removing file with metadata about part version (for transactions)
|
||||||
void removeVersionMetadata();
|
void removeVersionMetadata();
|
||||||
|
@ -1214,7 +1214,7 @@ MergeTreeData::LoadPartResult MergeTreeData::loadDataPart(
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
String part_path = fs::path(relative_data_path) / part_name;
|
String part_path = fs::path(relative_data_path) / part_name;
|
||||||
String marker_path = fs::path(part_path) / IMergeTreeDataPart::DELETE_ON_DESTROY_MARKER_FILE_NAME;
|
String marker_path = fs::path(part_path) / IMergeTreeDataPart::DELETE_ON_DESTROY_MARKER_FILE_NAME_DEPRECATED;
|
||||||
|
|
||||||
if (part_disk_ptr->exists(marker_path))
|
if (part_disk_ptr->exists(marker_path))
|
||||||
{
|
{
|
||||||
@ -4410,7 +4410,6 @@ void MergeTreeData::swapActivePart(MergeTreeData::DataPartPtr part_copy)
|
|||||||
/// All other locks are taken in StorageReplicatedMergeTree
|
/// All other locks are taken in StorageReplicatedMergeTree
|
||||||
lockSharedData(*part_copy);
|
lockSharedData(*part_copy);
|
||||||
|
|
||||||
asMutableDeletingPart(original_active_part)->writeDeleteOnDestroyMarker();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -7174,7 +7173,7 @@ std::pair<MergeTreeData::MutableDataPartPtr, scope_guard> MergeTreeData::cloneAn
|
|||||||
for (auto it = src_part->getDataPartStorage().iterate(); it->isValid(); it->next())
|
for (auto it = src_part->getDataPartStorage().iterate(); it->isValid(); it->next())
|
||||||
{
|
{
|
||||||
if (!files_to_copy_instead_of_hardlinks.contains(it->name())
|
if (!files_to_copy_instead_of_hardlinks.contains(it->name())
|
||||||
&& it->name() != IMergeTreeDataPart::DELETE_ON_DESTROY_MARKER_FILE_NAME
|
&& it->name() != IMergeTreeDataPart::DELETE_ON_DESTROY_MARKER_FILE_NAME_DEPRECATED
|
||||||
&& it->name() != IMergeTreeDataPart::TXN_VERSION_METADATA_FILE_NAME)
|
&& it->name() != IMergeTreeDataPart::TXN_VERSION_METADATA_FILE_NAME)
|
||||||
{
|
{
|
||||||
hardlinked_files->hardlinks_from_source_part.insert(it->name());
|
hardlinked_files->hardlinks_from_source_part.insert(it->name());
|
||||||
@ -7189,7 +7188,7 @@ std::pair<MergeTreeData::MutableDataPartPtr, scope_guard> MergeTreeData::cloneAn
|
|||||||
{
|
{
|
||||||
auto file_name_with_projection_prefix = fs::path(projection_storage.getPartDirectory()) / it->name();
|
auto file_name_with_projection_prefix = fs::path(projection_storage.getPartDirectory()) / it->name();
|
||||||
if (!files_to_copy_instead_of_hardlinks.contains(file_name_with_projection_prefix)
|
if (!files_to_copy_instead_of_hardlinks.contains(file_name_with_projection_prefix)
|
||||||
&& it->name() != IMergeTreeDataPart::DELETE_ON_DESTROY_MARKER_FILE_NAME
|
&& it->name() != IMergeTreeDataPart::DELETE_ON_DESTROY_MARKER_FILE_NAME_DEPRECATED
|
||||||
&& it->name() != IMergeTreeDataPart::TXN_VERSION_METADATA_FILE_NAME)
|
&& it->name() != IMergeTreeDataPart::TXN_VERSION_METADATA_FILE_NAME)
|
||||||
{
|
{
|
||||||
hardlinked_files->hardlinks_from_source_part.insert(file_name_with_projection_prefix);
|
hardlinked_files->hardlinks_from_source_part.insert(file_name_with_projection_prefix);
|
||||||
|
Loading…
Reference in New Issue
Block a user