From 0752221ba5515ef79847d7d25d0d7e2710af2e44 Mon Sep 17 00:00:00 2001 From: discord9 <55937128+discord9@users.noreply.github.com> Date: Mon, 28 Sep 2026 21:18:44 +0800 Subject: [PATCH] perf(index): bypass range-result cache in targeted CI case Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> --- src/cmd/src/bin/query_regression_runner/remote/ingest.rs | 2 +- tests/perf/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cmd/src/bin/query_regression_runner/remote/ingest.rs b/src/cmd/src/bin/query_regression_runner/remote/ingest.rs index 2bc1d8c6c79..acf47361e10 100644 --- a/src/cmd/src/bin/query_regression_runner/remote/ingest.rs +++ b/src/cmd/src/bin/query_regression_runner/remote/ingest.rs @@ -34,7 +34,7 @@ pub(super) async fn run_render_remote_config(args: RenderRemoteConfigArgs) -> Re let config = match args.target { RemoteConfigTarget::Frontend => frontend_prom_config(&remote.prom_store)?, RemoteConfigTarget::Datanode if remote.disable_index_result_cache => { - "[[region_engine]]\n[region_engine.mito.index]\nresult_cache_size = \"0B\"\n" + "[[region_engine]]\n[region_engine.mito]\nrange_result_cache_size = \"0B\"\n[region_engine.mito.index]\nresult_cache_size = \"0B\"\n" .to_string() } RemoteConfigTarget::Datanode => String::new(), diff --git a/tests/perf/README.md b/tests/perf/README.md index e90e2207939..3a76df1976a 100644 --- a/tests/perf/README.md +++ b/tests/perf/README.md @@ -193,7 +193,7 @@ before trusting the query measurements. Use `--fixture-generator /path/to/query_perf_fixture` to provide the Rust helper to the outer driver. -Remote-write cases can set `disable_index_result_cache = true` under `[scenario.remote_write]` to launch both base and candidate datanodes with Mito's index result cache set to `0B`; this keeps warmed query samples exercising the inverted/Bloom index applier rather than reusing cached index results. The default is false, so other cases are unchanged. +Remote-write cases can set `disable_index_result_cache = true` under `[scenario.remote_write]` to launch both base and candidate datanodes with Mito's range result cache and index result cache set to `0B`; this avoids range/index result cache hits that bypass the applier; inspect actual EXPLAIN applier metrics to verify the query path. The default is false, so other cases are unchanged. Large manual remote-write cases can set `sample_chunk_size` to split ingestion by time. For each chunk, `prepare-remote` invokes `query_perf_fixture prom-remote-write` with the