@@ -352,9 +352,9 @@ ss::future<std::error_code> controller_api::wait_for_topic(
352352}
353353
354354ss::future<result<chunked_vector<partition_reconfiguration_state>>>
355- controller_api::get_partitions_reconfiguration_state (
355+ controller_api::get_partitions_leader_reconfiguration_state (
356356 const chunked_vector<model::ntp>& partitions,
357- model::timeout_clock::time_point) {
357+ model::timeout_clock::time_point timeout ) {
358358 auto & updates_in_progress = _topics.local ().updates_in_progress ();
359359
360360 absl::node_hash_map<model::ntp, partition_reconfiguration_state> states;
@@ -375,21 +375,25 @@ controller_api::get_partitions_reconfiguration_state(
375375 state.state = progress_it->second .get_state ();
376376 state.policy = progress_it->second .get_reconfiguration_policy ();
377377
378- auto reconciliation_state = co_await get_reconciliation_state (ntp);
379- for (auto & operation : reconciliation_state.pending_operations ()) {
380- if (operation.recovery_state ) {
381- state.current_partition_size
382- = operation.recovery_state ->local_size ;
383- for (auto & [id, recovery_state] :
384- operation.recovery_state ->replicas ) {
385- state.replicas .push_back (
386- replica_bytes{
387- .node = id,
388- .bytes_left = recovery_state.bytes_left ,
389- .bytes_transferred = state.current_partition_size
390- - recovery_state.bytes_left ,
391- .offset = recovery_state.last_offset ,
392- });
378+ auto reconciliation_state
379+ = co_await get_partition_leader_reconciliation_state (ntp, timeout);
380+ if (reconciliation_state.has_value ()) {
381+ for (auto & operation :
382+ reconciliation_state.value ().pending_operations ()) {
383+ if (operation.recovery_state ) {
384+ state.current_partition_size
385+ = operation.recovery_state ->local_size ;
386+ for (auto & [id, recovery_state] :
387+ operation.recovery_state ->replicas ) {
388+ state.replicas .push_back (
389+ replica_bytes{
390+ .node = id,
391+ .bytes_left = recovery_state.bytes_left ,
392+ .bytes_transferred = state.current_partition_size
393+ - recovery_state.bytes_left ,
394+ .offset = recovery_state.last_offset ,
395+ });
396+ }
393397 }
394398 }
395399 }
@@ -518,7 +522,7 @@ controller_api::get_node_decommission_progress(
518522 // replicas that are moving from decommissioned node are still present on a
519523 // node but their metadata is update, add them explicitly
520524 ret.replicas_left += moving_from_node.size ();
521- auto states = co_await get_partitions_reconfiguration_state (
525+ auto states = co_await get_partitions_leader_reconfiguration_state (
522526 std::move (moving_from_node), timeout);
523527
524528 if (states) {
0 commit comments