File tree Expand file tree Collapse file tree 2 files changed +22
-1
lines changed
Expand file tree Collapse file tree 2 files changed +22
-1
lines changed Original file line number Diff line number Diff line change 2020#include " cluster/partition_balancer_backend.h"
2121#include " cluster/partition_balancer_rpc_service.h"
2222#include " cluster/partition_balancer_types.h"
23+ #include " cluster/partition_leaders_table.h"
2324#include " cluster/partition_manager.h"
2425#include " cluster/shard_table.h"
2526#include " cluster/topic_table.h"
@@ -285,6 +286,22 @@ controller_api::get_reconciliation_state(
285286 });
286287}
287288
289+ ss::future<result<ntp_reconciliation_state>>
290+ controller_api::get_partition_leader_reconciliation_state (
291+ model::ntp ntp, model::timeout_clock::time_point timeout) {
292+ auto leader = _partition_leaders.local ().get_leader (ntp);
293+ if (!leader) {
294+ vlog (
295+ clusterlog.debug ,
296+ " can't get partition leader for ntp {} to get its reconciliation "
297+ " state" ,
298+ ntp);
299+ co_return result<ntp_reconciliation_state>(errc::no_leader_controller);
300+ }
301+ co_return co_await get_reconciliation_state (
302+ *leader, std::move (ntp), timeout);
303+ }
304+
288305ss::future<result<ntp_reconciliation_state>>
289306controller_api::get_reconciliation_state (
290307 model::node_id id, model::ntp ntp, model::timeout_clock::time_point timeout) {
Original file line number Diff line number Diff line change @@ -66,6 +66,10 @@ class controller_api {
6666 ss::future<result<ntp_reconciliation_state>> get_reconciliation_state (
6767 model::node_id, model::ntp, model::timeout_clock::time_point);
6868
69+ ss::future<result<ntp_reconciliation_state>>
70+ get_partition_leader_reconciliation_state (
71+ model::ntp, model::timeout_clock::time_point);
72+
6973 // high level APIs
7074 ss::future<std::error_code> wait_for_topic (
7175 model::topic_namespace_view, model::timeout_clock::time_point);
@@ -107,7 +111,7 @@ class controller_api {
107111 ss::sharded<members_table>& _members;
108112 ss::sharded<partition_balancer_backend>& _partition_balancer;
109113 ss::sharded<partition_manager>& _partition_manager;
110- [[maybe_unused]] ss::sharded<partition_leaders_table>& _partition_leaders;
114+ ss::sharded<partition_leaders_table>& _partition_leaders;
111115 ss::sharded<ss::abort_source>& _as;
112116};
113117} // namespace cluster
You can’t perform that action at this time.
0 commit comments