Deprecate delete-on-destroy.txt, do not create it any more

This commit is contained in:
Alexander Gololobov 2023-04-26 14:06:22 +02:00
parent abe0cfd10f
commit c1c6955374
3 changed files with 9 additions and 22 deletions

View File

@ -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()

View File

@ -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();

View File

@ -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);