From 4e48a046c31e8dfdbe55c8d60e7f97b87b685601 Mon Sep 17 00:00:00 2001 From: Gleb Natapov Date: Thu, 18 Dec 2025 14:21:38 +0200 Subject: [PATCH] topology coordinator: set session id for streaming at the correct time Commit d3efb3ab6f5ab94dc added streaming session for rebuild, but it set the session and request submission time. The session should be set when request starts the execution, so this patch moved it to the correct place. Closes scylladb/scylladb#27757 (cherry picked from commit 04976875cc0ea5461736386e28b3790861d05e21) Closes scylladb/scylladb#27866 --- service/storage_service.cc | 1 - service/topology_coordinator.cc | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/service/storage_service.cc b/service/storage_service.cc index 31c9107694..988b5bf977 100644 --- a/service/storage_service.cc +++ b/service/storage_service.cc @@ -4969,7 +4969,6 @@ future<> storage_service::raft_rebuild(utils::optional_param sdc_param) { rtlogger.info("request rebuild for: {} source_dc={}", raft_server.id(), sdc_param); topology_mutation_builder builder(guard.write_timestamp()); - builder.set_session(session_id(guard.new_group0_state_id())); sstring source_dc = sdc_param.value_or(""); if (sdc_param.force() && !source_dc.empty()) { source_dc += ":force"; diff --git a/service/topology_coordinator.cc b/service/topology_coordinator.cc index 0d1af5f711..d022c5e93d 100644 --- a/service/topology_coordinator.cc +++ b/service/topology_coordinator.cc @@ -2825,7 +2825,8 @@ class topology_coordinator : public endpoint_lifecycle_subscriber { } case topology_request::rebuild: { topology_mutation_builder builder(node.guard.write_timestamp()); - builder.with_node(node.id) + builder.set_session(session_id(node.guard.new_group0_state_id())) + .with_node(node.id) .set("node_state", node_state::rebuilding) .del("topology_request"); co_await update_topology_state(take_guard(std::move(node)), {builder.build(), rtbuilder.build()},