This is an automated email from the ASF dual-hosted git repository.
liaoxin01 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new ba3f2c6af06 [fix](regression) Sync version 3 before DROP in
test_clean_tablet_when_drop_force_table (#69846)
ba3f2c6af06 is described below
commit ba3f2c6af065a5198f181163353dd6983d7ad673
Author: Xin Liao <[email protected]>
AuthorDate: Sat Oct 31 15:48:53 2026 +0800
[fix](regression) Sync version 3 before DROP in
test_clean_tablet_when_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.
---
.../tablets/test_clean_tablet_when_drop_force_table.groovy | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git
a/regression-test/suites/cloud_p0/tablets/test_clean_tablet_when_drop_force_table.groovy
b/regression-test/suites/cloud_p0/tablets/test_clean_tablet_when_drop_force_table.groovy
index 797a0b2df86..a1ffad52558 100644
---
a/regression-test/suites/cloud_p0/tablets/test_clean_tablet_when_drop_force_table.groovy
+++
b/regression-test/suites/cloud_p0/tablets/test_clean_tablet_when_drop_force_table.groovy
@@ -282,6 +282,16 @@ suite('test_clean_tablet_when_drop_force_table', 'docker')
{
}
}
+ // Auto compaction is disabled, so nothing else syncs version 3 into
the BE tablets.
+ // DROP only recycles the file cache of rowsets already loaded on the
BE, so query
+ // here to load version 3 before collecting its cache dirs.
+ for (int i = 0; i < 5; i++) {
+ def rows = sql """
+ select count(*) from $tableName
+ """
+ assertEquals(160000L, rows[0][0] as long)
+ }
+
// before drop table force
def beforeGetFromFe = getTabletAndBeHostFromFe(tableName)
def beforeGetFromBe =
getTabletAndBeHostFromBe(cluster.getAllBackends())
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]