mirror of
https://github.com/hanzoai/datastore.git
synced 2026-09-26 13:55:07 +00:00
The previous approach bumped the old-version image tags in five upgrade/ compatibility tests to `26.3` (a release that knows the new `table_readonly` MergeTree setting), so that the old binary started via `restart_with_original_version` could attach the rotated system log tables that the new server marks with `table_readonly = 1`. That broke the actual contract of every one of these tests, which intentionally pin specific pre-`26.3` versions to reproduce old-version behavior: - `test_index_filename_upgrade` needs a pre-25.12 binary that does not escape index filenames, so `File for index ... does not exist` never appeared. - `test_manipulate_statistics` needs the old `.stats` file format from 25.12. - `test_topk_alpha_map_compatibility` needs a pre-fix `AggregateFunction(topK)` state from <= 25.10. - `test_storage_s3_queue::test_migration` tests migration from 24.5, so the legacy `/processed` Keeper node was never created (`NoNodeError`). Instead, keep the original old-version tags and disable system logs on these nodes via a `zz_disable_system_logs.xml` config. With system logs disabled the new server never creates a rotated `*_log_N` table marked `table_readonly`, so the older binary can be restarted cleanly. These tests only exercise user tables, so disabling system logs does not affect their assertions. The config file name sorts after `s3queue_log.xml` so its `remove="remove"` directive wins the `config.d` merge for the s3queue test.