Yukang-Lian opened a new pull request, #64954: URL: https://github.com/apache/doris/pull/64954
## Proposed changes - Remove the promotion-size early return in size-based cumulative compaction rowset selection so level-size trimming can exclude an oversized leading rowset. - Keep the level-size trimming loop from trimming a single candidate rowset to an empty input set. - Apply the same behavior to both cloud and storage cumulative compaction policies. - Add regression coverage for the large-head/small-tail case and the single-rowset guard in both paths. ## Testing - `git diff --check` - `DORIS_HOME=/tmp/doris-master-cumu-policy-fix JAVA_HOME=/usr/lib/jvm/java-17-openjdk-17.0.18.0.8-2.el9.x86_64 DORIS_THIRDPARTY=/data/data14/lianyukang/doris/thirdparty DORIS_TOOLCHAIN=gcc DORIS_GCC_HOME=/data/data14/lianyukang/ldb_toolchain_v26 BUILD_TYPE_UT=DEBUG cmake --build be/ut_build_DEBUG_gcc15 --target cumu_policy_test -j80` - `DORIS_HOME=/tmp/doris-master-cumu-policy-fix JAVA_HOME=/usr/lib/jvm/java-17-openjdk-17.0.18.0.8-2.el9.x86_64 LD_LIBRARY_PATH=/usr/lib/jvm/java-17-openjdk-17.0.18.0.8-2.el9.x86_64/lib/server:$LD_LIBRARY_PATH be/ut_build_DEBUG_gcc15/test/cumu_policy_test --gtest_filter=TestCloudSizeBasedCumulativeCompactionPolicy.pick_input_rowsets_large_head_not_repeated_when_output_below_promotion:TestCloudSizeBasedCumulativeCompactionPolicy.pick_input_rowsets_single_overlapping_rowset_not_trimmed_empty:TestCloudSizeBasedCumulativeCompactionPolicy.pick_input_rowsets_single_non_overlapping_rowset_still_skipped:TestSizeBasedCumulativeCompactionPolicy.pick_input_rowsets_large_head_not_repeated_when_output_below_promotion:TestSizeBasedCumulativeCompactionPolicy.pick_input_rowsets_single_overlapping_rowset_not_trimmed_empty:TestSizeBasedCumulativeCompactionPolicy.pick_input_rowsets_single_non_overlapping_rowset_still_skipped` passed, 6 tests. Note: I first attempted `BUILD_TYPE_UT=DEBUG ./run-be-ut.sh --run --filter=... -j80`, but that path builds the full `doris_be_test` target. In this local GCC 15 environment, current master is blocked by unrelated BE UT compile failures in `test/storage/index/ann/vector_search_test` warnings-as-errors and `test/exec/scan/scanner_context_test.cpp` inaccessible base. I used a local-only minimal CMake target for the two compaction policy test files; no CMake workaround is included in this PR. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
