Repository navigation
[fix](regression) Sync version 3 before DROP in test_clean_tablet_when_drop_force_table - #69846
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
…n_drop_force_table The case disables auto compaction, so version 3 is never synced into the BE tablets before DROP TABLE FORCE. drop_tablet_callback only recycles the file cache of rowsets in the BE tablet snapshot, so the version 3 cache dirs are left behind and the cleanup assertion times out. Query the table after the version 3 load so the BE loads that rowset, the same way the case already does for version 2.
cfb4b0c to
4426a4a
Compare
|
/review |
|
run buildall |
There was a problem hiding this comment.
Reviewed PR 69846 at exact head 4426a4a against the supplied merge-base diff. The only change adds five post-load COUNT(*) reads and checks 160000 rows before collecting version-3 cache paths. The two stream loads each require 80000 successful, unfiltered rows; the regression SQL path returns a numeric aggregate; and the cloud OLAP scan synchronizes every tablet range to query version 3. With auto compaction disabled, the added reads establish the cache baseline required by the subsequent DROP cleanup assertions.
Critical checkpoints: the change is small and focused; it introduces no new production concurrency, locking, lifecycle, configuration, protocol, persistence, or memory-management path; the repeated warmup is bounded and the two test cases run sequentially; and the deterministic scalar assertion is appropriate for this procedural regression test. The changed-file diff passes whitespace validation. No additional user review focus was supplied. Existing inline review threads and blocking findings are absent.
This was a static review as required by the contract; no build or regression execution was performed. An externally enabled multi-replica routing override is outside this suite's declared configuration and was recorded as an environment boundary, not a defect. No verified inline findings remain, so the review converged in round 1.
Review converged after 1 round(s).
…n_drop_force_table (#69846) Related PR: #68449 Problem Summary: `test_clean_tablet_when_drop_force_table` fails intermittently with `File cache directories were not cleaned before timeout`. The leftover cache dirs all belong to the version 3 rowsets. #68449 set `disable_auto_compaction=true` for this case. Before that change, cloud compaction called `sync_rowsets()` and loaded version 3 into the BE tablets as a side effect. Now nothing loads version 3 between the second stream load and `DROP TABLE FORCE`, because the case only queries after the version 2 load. The cloud `drop_tablet_callback` only recycles the file cache of rowsets in `get_snapshot_rowset(true)`, so the version 3 cache stays and the cleanup assertion times out. This PR queries the table after the version 3 load, the same way the case already does after version 2. The query loads version 3 on every BE before DROP. It also asserts the row count (160000) to confirm version 3 is visible.
…n_tablet_when_drop_force_table #69846 (#69910) Cherry-picked from #69846 Co-authored-by: Xin Liao <[email protected]>
What problem does this PR solve?
Issue Number: None
Related PR: #68449
Problem Summary:
test_clean_tablet_when_drop_force_tablefails intermittently withFile cache directories were not cleaned before timeout. The leftover cache dirs all belong to the version 3 rowsets.#68449 set
disable_auto_compaction=truefor this case. Before that change, cloud compaction calledsync_rowsets()and loaded version 3 into the BE tablets as a side effect. Now nothing loads version 3 between the second stream load andDROP TABLE FORCE, because the case only queries after the version 2 load. The clouddrop_tablet_callbackonly recycles the file cache of rowsets inget_snapshot_rowset(true), so the version 3 cache stays and the cleanup assertion times out.This PR queries the table after the version 3 load, the same way the case already does after version 2. The query loads version 3 on every BE before DROP. It also asserts the row count (160000) to confirm version 3 is visible.
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)