From 1c6482eb72e15aa24b78757705b0c54112a0da63 Mon Sep 17 00:00:00 2001 From: shuke987 Date: Mon, 15 Jun 2026 15:26:32 +0800 Subject: [PATCH] [fix](case) test_delete_bitmap_metrics: warm agg cache on every replica The aggregated delete-bitmap cache (/api/delete_bitmap/count_agg_cache) is populated lazily, and only on the replica that actually served a query. On a multi-replica cluster (force_olap_table_replication_num) the select before the assertion loop warms only one replica, so the per-replica `agg cache delete_bitmap_count == 8` assertion fails on the other replicas (flaky). Warm every replica via use_fix_replica before the checks so each replica's agg cache is populated. The assertions are unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../metrics_p0/test_delete_bitmap_metrics.groovy | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/regression-test/suites/metrics_p0/test_delete_bitmap_metrics.groovy b/regression-test/suites/metrics_p0/test_delete_bitmap_metrics.groovy index 80f7da957ef20e..580f3e66f5ca9d 100644 --- a/regression-test/suites/metrics_p0/test_delete_bitmap_metrics.groovy +++ b/regression-test/suites/metrics_p0/test_delete_bitmap_metrics.groovy @@ -189,6 +189,18 @@ suite("test_delete_bitmap_metrics", "p0") { def ms_delete_bitmap_count = 0 def local_delete_bitmap_cardinality = 0; def ms_delete_bitmap_cardinality = 0; + // The aggregated delete-bitmap cache is populated lazily, and only on the + // replica that actually served a query. On a multi-replica cluster + // (force_olap_table_replication_num) the qt_sql above warms only one replica, + // so the per-replica agg-cache assertions below fail on the other replicas. + // Warm every replica by pinning the read to each replica ordinal in turn. + int warm_replica_num = tablets.size() + for (int ri = 0; ri < warm_replica_num; ri++) { + sql "set use_fix_replica=${ri};" + sql "select * from ${testTable};" + } + sql "set use_fix_replica=-1;" + sql "sync" for (def tablet in tablets) { String tablet_id = tablet.TabletId def tablet_info = sql_return_maparray """ show tablet ${tablet_id}; """