Type of problem
Bug report — something's broken
Describe the situation
Build (amd_llvm_coverage_per_test) fails to compile on antalya-26.6. src/Disks/tests/gtest_cas_throttling_gate.cpp declares resolve_reads_before outside the #if !WITH_COVERAGE block that holds its only use, so under -DWITH_COVERAGE=1 the variable is unused and -Werror stops the build.
/ClickHouse/src/Disks/tests/gtest_cas_throttling_gate.cpp:69:16: error: unused variable 'resolve_reads_before' [-Werror,-Wunused-variable]
69 | const auto resolve_reads_before = ProfileEvents::global_counters[ProfileEvents::CASRequestResolveRead].load();
The break dropped all 8 Stateless tests (amd_llvm_coverage_per_test, per_test_coverage) shards. Nothing else is affected — every other build keeps the block active, so the variable is used there.
Reproduce
Build with -DWITH_COVERAGE=1, or run the Build (amd_llvm_coverage_per_test) job.
Fix
gtest_cas_backend.cpp already carries the right form for the same guard:
#if !WITH_COVERAGE
EXPECT_GT(ProfileEvents::global_counters[ProfileEvents::CASRequestResolveRead].load() - resolve_reads_before, 0u)
<< "no throttled write was settled by a read -- the engine's ambiguity-resolution path never ran";
+#else
+ (void)resolve_reads_before;
#endif
Why PR CI missed it
The PR workflow has no coverage job — Build (amd_llvm_coverage_per_test) runs only in MasterCI. A WITH_COVERAGE-only break merges clean and surfaces on the next merge commit, pointing at an innocent PR.
Additional context
Related PR
Type of problem
Bug report — something's broken
Describe the situation
Build (amd_llvm_coverage_per_test)fails to compile onantalya-26.6.src/Disks/tests/gtest_cas_throttling_gate.cppdeclaresresolve_reads_beforeoutside the#if !WITH_COVERAGEblock that holds its only use, so under-DWITH_COVERAGE=1the variable is unused and-Werrorstops the build.The break dropped all 8
Stateless tests (amd_llvm_coverage_per_test, per_test_coverage)shards. Nothing else is affected — every other build keeps the block active, so the variable is used there.Reproduce
Build with
-DWITH_COVERAGE=1, or run theBuild (amd_llvm_coverage_per_test)job.Fix
gtest_cas_backend.cppalready carries the right form for the same guard:#if !WITH_COVERAGE EXPECT_GT(ProfileEvents::global_counters[ProfileEvents::CASRequestResolveRead].load() - resolve_reads_before, 0u) << "no throttled write was settled by a read -- the engine's ambiguity-resolution path never ran"; +#else + (void)resolve_reads_before; #endifWhy PR CI missed it
The
PRworkflow has no coverage job —Build (amd_llvm_coverage_per_test)runs only in MasterCI. AWITH_COVERAGE-only break merges clean and surfaces on the next merge commit, pointing at an innocent PR.Additional context
antalya-26.62073b1f88dec885444fac97edb8179ad1753c1ad(merge of Antalya-26.6 - Do not build SimSIMD for ARM sanitizer builds #2341, which touched only twocontrib/CMake files)Related PR
d528693e