Files
datastore/tests/docker_scripts
Alexey MilovidovandClaude Opus 4.8 ef7789d959 Scope the throwIf upgrade-check exclusion to mutation-task contexts
Address review feedback from `clickhouse-gh`: the previous fixed-string
exclusion `-e "Value passed to 'throwIf' function is non-zero"` dropped every
`<Error>` line containing that default message globally, which is broader than
the invariant the filter protects. The default `throwIf` message is generic, so
a real upgrade regression in any other background or persisted object that uses
`throwIf` as an assertion would silently disappear from
`upgrade_error_messages.txt`.

Move the exclusion from the primary fixed-string list into the secondary regex
pipe, pairing the message with the mutation-task logger that emits it, exactly
like the other scoped exclusions in this file:

- `MutatePlainMergeTreeTask` + the message (plain `MergeTree`, test
  `04341_broken_mutation_part_log_flush`);
- `MergeTreeBackgroundExecutor` + the message (the wrapping background-executor
  line, present for both the plain and `ReplicatedMergeTree` cases).

The replicated first line is already covered by the existing
`MutateFromLogEntryTask` exclusion, so all leaking lines remain suppressed while
`throwIf` errors from any other context now surface.

Verified against the real leaking log from the example report
(https://s3.amazonaws.com/clickhouse-test-reports/json.html?PR=108657&sha=70df14b1ec107f06eb401ecb1bda859af68e52a6&name_0=PR&name_1=Upgrade%20check%20%28amd_release%29):
all 273 `MutatePlainMergeTreeTask`/`MergeTreeBackgroundExecutor` retry lines are
dropped, while a synthetic unrelated `throwIf` error (e.g. from a materialized
view assertion) still reaches `upgrade_error_messages.txt` - whereas the old
global filter masked it.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30 00:45:12 +00:00
..