99import com .codahale .metrics .Timer ;
1010import com .google .common .util .concurrent .AtomicDouble ;
1111import com .linkedin .kafka .cruisecontrol .KafkaCruiseControlUtils ;
12+ import com .linkedin .kafka .cruisecontrol .common .MetadataAdminClient ;
1213import com .linkedin .kafka .cruisecontrol .common .TopicMinIsrCache ;
1314import com .linkedin .kafka .cruisecontrol .config .KafkaCruiseControlConfig ;
1415import com .linkedin .kafka .cruisecontrol .common .KafkaCruiseControlThreadFactory ;
15- import com .linkedin .kafka .cruisecontrol .common .MetadataClient ;
1616import com .linkedin .kafka .cruisecontrol .config .constants .ExecutorConfig ;
1717import com .linkedin .kafka .cruisecontrol .detector .AnomalyDetectorManager ;
1818import com .linkedin .kafka .cruisecontrol .exception .OngoingExecutionException ;
4242import java .util .concurrent .atomic .AtomicInteger ;
4343import java .util .function .Supplier ;
4444import java .util .stream .Collectors ;
45- import org .apache .kafka .clients .Metadata ;
4645import org .apache .kafka .clients .admin .AdminClient ;
4746import org .apache .kafka .clients .admin .AlterPartitionReassignmentsResult ;
4847import org .apache .kafka .clients .admin .DescribeConfigsResult ;
5251import org .apache .kafka .common .Node ;
5352import org .apache .kafka .common .TopicPartition ;
5453import org .apache .kafka .common .config .ConfigResource ;
55- import org .apache .kafka .common .internals .ClusterResourceListeners ;
56- import org .apache .kafka .common .utils .LogContext ;
5754import org .apache .kafka .common .utils .Time ;
5855import org .slf4j .Logger ;
5956import org .slf4j .LoggerFactory ;
@@ -87,7 +84,7 @@ public class Executor {
8784 private static final long EXECUTION_PROGRESS_CHECK_INTERVAL_ADJUSTING_MS = 1000 ;
8885 // The execution progress is controlled by the ExecutionTaskManager.
8986 private final ExecutionTaskManager _executionTaskManager ;
90- private final MetadataClient _metadataClient ;
87+ private final MetadataAdminClient _metadataClient ;
9188 private volatile long _executionProgressCheckIntervalMs ;
9289 private final long _defaultExecutionProgressCheckIntervalMs ;
9390 private Long _requestedExecutionProgressCheckIntervalMs ;
@@ -168,7 +165,7 @@ public Executor(KafkaCruiseControlConfig config,
168165 Executor (KafkaCruiseControlConfig config ,
169166 Time time ,
170167 MetricRegistry dropwizardMetricRegistry ,
171- MetadataClient metadataClient ,
168+ MetadataAdminClient metadataClient ,
172169 ExecutorNotifier executorNotifier ,
173170 AnomalyDetectorManager anomalyDetectorManager ) {
174171 _numExecutionStopped = new AtomicInteger (0 );
@@ -189,15 +186,7 @@ public Executor(KafkaCruiseControlConfig config,
189186 _executionTaskManager = new ExecutionTaskManager (_adminClient , dropwizardMetricRegistry , time , config );
190187 // Register gauge sensors.
191188 registerGaugeSensors (dropwizardMetricRegistry );
192- _metadataClient = metadataClient != null ? metadataClient
193- : new MetadataClient (config ,
194- new Metadata (ExecutionUtils .METADATA_REFRESH_BACKOFF ,
195- ExecutionUtils .METADATA_REFRESH_BACKOFF_MAX ,
196- ExecutionUtils .METADATA_EXPIRY_MS ,
197- new LogContext (),
198- new ClusterResourceListeners ()),
199- -1L ,
200- time );
189+ _metadataClient = metadataClient != null ? metadataClient : new MetadataAdminClient (_adminClient );
201190 _defaultExecutionProgressCheckIntervalMs = config .getLong (ExecutorConfig .EXECUTION_PROGRESS_CHECK_INTERVAL_MS_CONFIG );
202191 _executionProgressCheckIntervalMs = _defaultExecutionProgressCheckIntervalMs ;
203192 _leaderMovementTimeoutMs = config .getLong (ExecutorConfig .LEADER_MOVEMENT_TIMEOUT_MS_CONFIG );
@@ -875,7 +864,7 @@ private synchronized void initProposalExecution(Collection<ExecutionProposal> pr
875864 recentlyRemovedBrokers (), isTriggeredByUserRequest );
876865 _executionTaskManager .setExecutionModeForTaskTracker (_isKafkaAssignerMode );
877866 // Get a snapshot of (1) cluster and (2) minIsr with time by topic name.
878- StrategyOptions strategyOptions = new StrategyOptions .Builder (_metadataClient .refreshMetadata (). cluster ())
867+ StrategyOptions strategyOptions = new StrategyOptions .Builder (_metadataClient .cluster ())
879868 .minIsrWithTimeByTopic (_topicMinIsrCache .minIsrWithTimeByTopic ()).build ();
880869 _executionTaskManager .addExecutionProposals (proposals , brokersToSkipConcurrencyCheck , strategyOptions , replicaMovementStrategy );
881870 _concurrencyAdjuster .initAdjustment (loadMonitor ,
@@ -1799,7 +1788,7 @@ private Cluster getClusterForExecutionProgressCheck() {
17991788 if (LOG .isDebugEnabled ()) {
18001789 LOG .debug ("Tasks in execution: {}" , inExecutionTasks ());
18011790 }
1802- return _metadataClient .refreshMetadata (). cluster ();
1791+ return _metadataClient .cluster ();
18031792 }
18041793
18051794 /**
0 commit comments