repair: Fix repair_row_level_stop verb idl
The version keyword is missed for the optional mark_as_repaired parameter. This causes the new node to expect more data to come: INFO 2025-09-01 19:23:05,332 [shard 0:strm] rpc - client 127.0.7.6:50116 msg_id 8: caught exception while processing a message: std::out_of_range (deserialization buffer underflow) When the sender is an old node in a mixed cluster, the data will never come. To fix, add the missing version keyword. Our idl-compiler.py should have caught the typo since the keyword was missing in the [[]] tag. Fixes #25666 Closes scylladb/scylladb#25782
This commit is contained in:
@@ -113,7 +113,7 @@ verb [[with_client_info]] repair_get_sync_boundary (uint32_t repair_meta_id, std
|
||||
verb [[with_client_info]] repair_get_row_diff (uint32_t repair_meta_id, repair_hash_set set_diff, bool needs_all_rows, shard_id dst_shard_id [[version 5.2]]) -> repair_rows_on_wire;
|
||||
verb [[with_client_info]] repair_put_row_diff (uint32_t repair_meta_id, repair_rows_on_wire row_diff, shard_id dst_shard_id [[version 5.2]]);
|
||||
verb [[with_client_info]] repair_row_level_start (uint32_t repair_meta_id, sstring keyspace_name, sstring cf_name, dht::token_range range, row_level_diff_detect_algorithm algo, uint64_t max_row_buf_size, uint64_t seed, unsigned remote_shard, unsigned remote_shard_count, unsigned remote_ignore_msb, sstring remote_partitioner_name, table_schema_version schema_version, streaming::stream_reason reason [[version 4.1.0]], gc_clock::time_point compaction_time [[version 5.2]], shard_id dst_shard_id [[version 5.2]], service::frozen_topology_guard topo_guard [[version 2025.1]], std::optional<int64_t> repaired_at [[version 2025.4]], locator::tablet_repair_incremental_mode incremental_mode [[version 2025.4]]) -> repair_row_level_start_response [[version 4.2.0]];
|
||||
verb [[with_client_info]] repair_row_level_stop (uint32_t repair_meta_id, sstring keyspace_name, sstring cf_name, dht::token_range range, shard_id dst_shard_id [[version 5.2]], bool mark_as_repaired [[2025.4]]);
|
||||
verb [[with_client_info]] repair_row_level_stop (uint32_t repair_meta_id, sstring keyspace_name, sstring cf_name, dht::token_range range, shard_id dst_shard_id [[version 5.2]], bool mark_as_repaired [[version 2025.4]]);
|
||||
verb [[with_client_info]] repair_get_estimated_partitions (uint32_t repair_meta_id, shard_id dst_shard_id [[version 5.2]]) -> uint64_t;
|
||||
verb [[with_client_info]] repair_set_estimated_partitions (uint32_t repair_meta_id, uint64_t estimated_partitions, shard_id dst_shard_id [[version 5.2]]);
|
||||
verb [[with_client_info]] repair_get_diff_algorithms () -> std::vector<row_level_diff_detect_algorithm>;
|
||||
|
||||
Reference in New Issue
Block a user