Skip to content

Commit 0c472a7

Browse files
liujiayi771codex
andcommitted
fix(commit): allow disabled manifest delete stats option
Parse manifest.delete-file-drop-stats and reject it only when enabled, because false matches the existing C++ commit behavior. Co-Authored-By: Codex <noreply@openai.com> AI-Model: gpt-5 AI-Contributed/Feature: 8/8 AI-Contributed/UT: 6/6
1 parent 2975a7a commit 0c472a7

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

‎src/paimon/core/operation/file_store_commit_impl.cpp‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
#include "paimon/common/utils/binary_row_partition_computer.h"
4343
#include "paimon/common/utils/date_time_utils.h"
4444
#include "paimon/common/utils/fields_comparator.h"
45+
#include "paimon/common/utils/options_utils.h"
4546
#include "paimon/common/utils/path_util.h"
4647
#include "paimon/common/utils/scope_guard.h"
4748
#include "paimon/core/catalog/catalog_snapshot_commit.h"
@@ -116,7 +117,12 @@ Status FileStoreCommitImpl::ValidateCommitOptions(const CoreOptions& options) {
116117
unsupported_options.emplace_back(kCommitStrictModeLastSafeSnapshot);
117118
}
118119
if (raw_options.find(kManifestDeleteFileDropStats) != raw_options.end()) {
119-
unsupported_options.emplace_back(kManifestDeleteFileDropStats);
120+
PAIMON_ASSIGN_OR_RAISE(
121+
bool manifest_delete_file_drop_stats,
122+
OptionsUtils::GetValueFromMap<bool>(raw_options, kManifestDeleteFileDropStats));
123+
if (manifest_delete_file_drop_stats) {
124+
unsupported_options.emplace_back(kManifestDeleteFileDropStats);
125+
}
120126
}
121127
if (raw_options.find(kSequenceSnapshotOrdering) != raw_options.end()) {
122128
unsupported_options.emplace_back(kSequenceSnapshotOrdering);

‎src/paimon/core/operation/file_store_commit_impl_test.cpp‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2550,6 +2550,12 @@ TEST_F(FileStoreCommitImplTest, ValidateCommitOptionsRejectsUnsupportedOptions)
25502550
ASSERT_OK(FileStoreCommitImpl::ValidateCommitOptions(ok_options));
25512551
}
25522552

2553+
TEST_F(FileStoreCommitImplTest, ValidateCommitOptionsAllowsDisabledManifestDeleteFileDropStats) {
2554+
ASSERT_OK_AND_ASSIGN(CoreOptions options,
2555+
CoreOptions::FromMap({{"manifest.delete-file-drop-stats", "false"}}));
2556+
ASSERT_OK(FileStoreCommitImpl::ValidateCommitOptions(options));
2557+
}
2558+
25532559
TEST_F(FileStoreCommitImplTest, DropPartitionWithEmptyPartitionsFails) {
25542560
CommitContextBuilder context_builder(table_path_, "commit_user_1");
25552561
ASSERT_OK_AND_ASSIGN(std::unique_ptr<CommitContext> commit_context,

0 commit comments

Comments
 (0)