Package org.apache.kafka.connect.mirror
Class MirrorClient
java.lang.Object
org.apache.kafka.connect.mirror.MirrorClient
- All Implemented Interfaces:
- AutoCloseable
Interprets MM2's internal topics (checkpoints, heartbeats) on a given cluster.
  
Given a top-level "mm2.properties" configuration file, MirrorClients can be constructed for individual clusters as follows:
    MirrorMakerConfig mmConfig = new MirrorMakerConfig(props);
    MirrorClientConfig mmClientConfig = mmConfig.clientConfig("some-cluster");
    MirrorClient mmClient = new Mirrorclient(mmClientConfig);
  - 
Constructor SummaryConstructorsConstructorDescriptionMirrorClient(Map<String, Object> props) MirrorClient(MirrorClientConfig config) 
- 
Method SummaryModifier and TypeMethodDescriptionFind all checkpoint topics on this cluster.voidclose()Close internal clients.Find all heartbeat topics on this cluster.remoteConsumerOffsets(String consumerGroupId, String remoteClusterAlias, Duration timeout) Translate a remote consumer group's offsets into corresponding local offsets.Find all remote topics on this cluster.remoteTopics(String source) Find all remote topics that have been replicated directly from the given source cluster.intreplicationHops(String upstreamClusterAlias) Compute shortest number of hops from an upstream source cluster.Get the ReplicationPolicy instance used to interpret remote topics.Find upstream clusters, which may be multiple hops away, based on incoming heartbeats.
- 
Constructor Details- 
MirrorClient
- 
MirrorClient
 
- 
- 
Method Details- 
closepublic void close()Close internal clients.- Specified by:
- closein interface- AutoCloseable
 
- 
replicationPolicyGet the ReplicationPolicy instance used to interpret remote topics. This instance is constructed based on relevant configuration properties, includingreplication.policy.class.
- 
replicationHopsCompute shortest number of hops from an upstream source cluster. For example, given replication flow A->B->C, there are two hops from A to C. Returns -1 if upstream cluster is unreachable.- Throws:
- InterruptedException
 
- 
heartbeatTopicsFind all heartbeat topics on this cluster. Heartbeat topics are replicated from other clusters.- Throws:
- InterruptedException
 
- 
checkpointTopicsFind all checkpoint topics on this cluster.- Throws:
- InterruptedException
 
- 
upstreamClustersFind upstream clusters, which may be multiple hops away, based on incoming heartbeats.- Throws:
- InterruptedException
 
- 
remoteTopicsFind all remote topics on this cluster. This does not include internal topics (heartbeats, checkpoints).- Throws:
- InterruptedException
 
- 
remoteTopicsFind all remote topics that have been replicated directly from the given source cluster.- Throws:
- InterruptedException
 
- 
remoteConsumerOffsetspublic Map<TopicPartition,OffsetAndMetadata> remoteConsumerOffsets(String consumerGroupId, String remoteClusterAlias, Duration timeout) Translate a remote consumer group's offsets into corresponding local offsets. Topics are automatically renamed according to the ReplicationPolicy.- Parameters:
- consumerGroupId- group ID of remote consumer group
- remoteClusterAlias- alias of remote cluster
- timeout- timeout
 
 
-