Uh oh!
There was an error while loading. Please reload this page.
[fix](compaction) Make creating tablet idempotently to keep compaction Job idempotent - #56061
Conversation
Thearas
commented
Sep 15, 2025
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
wyxxxcat
commented
Sep 15, 2025
run buildall |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
fa263f4 to
7505926Compare9fbdea8 to
0a028caComparewyxxxcat
commented
Sep 15, 2025
run buildall |
hello-stephen
commented
Sep 15, 2025
Cloud UT Coverage ReportIncrement line coverage Increment coverage report
|
7a8dd26 to
c236e70Comparewyxxxcat
commented
Sep 15, 2025
run buildall |
c236e70 to
e660827Comparewyxxxcat
commented
Sep 15, 2025
run buildall |
doris-robot
commented
Sep 15, 2025
Cloud UT Coverage ReportIncrement line coverage Increment coverage report
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
e660827 to
748c320Comparewyxxxcat
commented
Sep 15, 2025
run buildall |
doris-robot
commented
Sep 15, 2025
Cloud UT Coverage ReportIncrement line coverage Increment coverage report
|
PR approved by at least one committer and no changes requested. |
PR approved by anyone and no changes requested. |
Uh oh!
There was an error while loading. Please reload this page.
…n Job idempotent (apache#56061) If rpc create_tablets is not idempotent, it will recreate tablet stats, which is tragic for compaction task idempotence ``` if (compaction.base_compaction_cnt() < stats.base_compaction_cnt() || compaction.cumulative_compaction_cnt() < stats.cumulative_compaction_cnt()) { code = MetaServiceCode::STALE_TABLET_CACHE; SS << "could not perform compaction on expired tablet cache." << " req_base_compaction_cnt=" << compaction.base_compaction_cnt() << ", base_compaction_cnt=" << stats.base_compaction_cnt() << ", req_cumulative_compaction_cnt=" << compaction.cumulative_compaction_cnt() << ", cumulative_compaction_cnt=" << stats.cumulative_compaction_cnt(); msg = ss.str(); return; } ```
…n Job idempotent (apache#56061) If rpc create_tablets is not idempotent, it will recreate tablet stats, which is tragic for compaction task idempotence ``` if (compaction.base_compaction_cnt() < stats.base_compaction_cnt() || compaction.cumulative_compaction_cnt() < stats.cumulative_compaction_cnt()) { code = MetaServiceCode::STALE_TABLET_CACHE; SS << "could not perform compaction on expired tablet cache." << " req_base_compaction_cnt=" << compaction.base_compaction_cnt() << ", base_compaction_cnt=" << stats.base_compaction_cnt() << ", req_cumulative_compaction_cnt=" << compaction.cumulative_compaction_cnt() << ", cumulative_compaction_cnt=" << stats.cumulative_compaction_cnt(); msg = ss.str(); return; } ```
…mpotently to keep compaction Job idempotent (apache#4688) pick: apache#56061
Related PR: #56061 Problem Summary: ShortGetTabletStatsDebugStringTest enables the global idempotent request injection configuration but does not restore it after completion. Because meta_service_http_test.cpp and meta_service_test.cpp are linked into the same test binary, later tests may create delayed background bthreads. Those tasks capture MetaServiceProxy through a raw this pointer and can access impl_ after the proxy is destroyed, causing intermittent heap-use-after-free, heap-buffer-overflow, or SEGV failures. Remove the test to prevent this test-binary-wide configuration pollution and the resulting flaky failures.
Related PR: #56061 Problem Summary: ShortGetTabletStatsDebugStringTest enables the global idempotent request injection configuration but does not restore it after completion. Because meta_service_http_test.cpp and meta_service_test.cpp are linked into the same test binary, later tests may create delayed background bthreads. Those tasks capture MetaServiceProxy through a raw this pointer and can access impl_ after the proxy is destroyed, causing intermittent heap-use-after-free, heap-buffer-overflow, or SEGV failures. Remove the test to prevent this test-binary-wide configuration pollution and the resulting flaky failures.
What problem does this PR solve?
If rpc create_tablets is not idempotent, it will recreate tablet stats, which is tragic for compaction task idempotence
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)