public final class Cluster extends Object
Constructor and Description |
---|
Cluster(String clusterId,
Collection<Node> nodes,
Collection<PartitionInfo> partitions,
Set<String> unauthorizedTopics,
Set<String> internalTopics)
Create a new cluster with the given id, nodes and partitions
|
Cluster(String clusterId,
Collection<Node> nodes,
Collection<PartitionInfo> partitions,
Set<String> unauthorizedTopics,
Set<String> internalTopics,
Node controller)
Create a new cluster with the given id, nodes and partitions
|
Cluster(String clusterId,
Collection<Node> nodes,
Collection<PartitionInfo> partitions,
Set<String> unauthorizedTopics,
Set<String> invalidTopics,
Set<String> internalTopics,
Node controller)
Create a new cluster with the given id, nodes and partitions
|
Cluster(String clusterId,
Collection<Node> nodes,
Collection<PartitionInfo> partitions,
Set<String> unauthorizedTopics,
Set<String> invalidTopics,
Set<String> internalTopics,
Node controller,
Map<String,Uuid> topicIds)
Create a new cluster with the given id, nodes, partitions and topicIds
|
Modifier and Type | Method and Description |
---|---|
List<PartitionInfo> |
availablePartitionsForTopic(String topic)
Get the list of available partitions for this topic
|
static Cluster |
bootstrap(List<InetSocketAddress> addresses)
Create a "bootstrap" cluster using the given list of host/ports
|
ClusterResource |
clusterResource() |
Node |
controller() |
static Cluster |
empty()
Create an empty cluster instance with no nodes and no topic-partitions.
|
boolean |
equals(Object o) |
int |
hashCode() |
Set<String> |
internalTopics() |
Set<String> |
invalidTopics() |
boolean |
isBootstrapConfigured() |
Node |
leaderFor(TopicPartition topicPartition)
Get the current leader for the given topic-partition
|
List<Integer> |
leadersForTopic(String topic)
Get the list of leaders for this topic
|
Node |
nodeById(int id)
Get the node by the node id (or null if the node is not online or does not exist)
|
Optional<Node> |
nodeIfOnline(TopicPartition partition,
int id)
Get the node by node id if the replica for the given partition is online
|
List<Node> |
nodes() |
PartitionInfo |
partition(TopicPartition topicPartition)
Get the metadata for the specified partition
|
Integer |
partitionCountForTopic(String topic)
Get the number of partitions for the given topic.
|
List<PartitionInfo> |
partitionsForNode(int nodeId)
Get the list of partitions whose leader is this node
|
List<PartitionInfo> |
partitionsForTopic(String topic)
Get the list of partitions for this topic
|
Uuid |
topicId(String topic) |
Collection<Uuid> |
topicIds() |
String |
topicName(Uuid topicId) |
Set<String> |
topics()
Get all topics.
|
String |
toString() |
Set<String> |
unauthorizedTopics() |
Cluster |
withPartitions(Map<TopicPartition,PartitionInfo> partitions)
Return a copy of this cluster combined with `partitions`.
|
public Cluster(String clusterId, Collection<Node> nodes, Collection<PartitionInfo> partitions, Set<String> unauthorizedTopics, Set<String> internalTopics)
nodes
- The nodes in the clusterpartitions
- Information about a subset of the topic-partitions this cluster hostspublic Cluster(String clusterId, Collection<Node> nodes, Collection<PartitionInfo> partitions, Set<String> unauthorizedTopics, Set<String> internalTopics, Node controller)
nodes
- The nodes in the clusterpartitions
- Information about a subset of the topic-partitions this cluster hostspublic Cluster(String clusterId, Collection<Node> nodes, Collection<PartitionInfo> partitions, Set<String> unauthorizedTopics, Set<String> invalidTopics, Set<String> internalTopics, Node controller)
nodes
- The nodes in the clusterpartitions
- Information about a subset of the topic-partitions this cluster hostspublic Cluster(String clusterId, Collection<Node> nodes, Collection<PartitionInfo> partitions, Set<String> unauthorizedTopics, Set<String> invalidTopics, Set<String> internalTopics, Node controller, Map<String,Uuid> topicIds)
nodes
- The nodes in the clusterpartitions
- Information about a subset of the topic-partitions this cluster hostspublic static Cluster empty()
public static Cluster bootstrap(List<InetSocketAddress> addresses)
addresses
- The addressespublic Cluster withPartitions(Map<TopicPartition,PartitionInfo> partitions)
public Node nodeById(int id)
id
- The id of the nodepublic Optional<Node> nodeIfOnline(TopicPartition partition, int id)
partition
- id
- public Node leaderFor(TopicPartition topicPartition)
topicPartition
- The topic and partition we want to know the leader forpublic PartitionInfo partition(TopicPartition topicPartition)
topicPartition
- The topic and partition to fetch info forpublic List<PartitionInfo> partitionsForTopic(String topic)
topic
- The topic namepublic List<Integer> leadersForTopic(String topic)
topic
- The topic namepublic Integer partitionCountForTopic(String topic)
topic
- The topic to get the number of partitions forpublic List<PartitionInfo> availablePartitionsForTopic(String topic)
topic
- The topic namepublic List<PartitionInfo> partitionsForNode(int nodeId)
nodeId
- The node idpublic boolean isBootstrapConfigured()
public ClusterResource clusterResource()
public Node controller()
public Collection<Uuid> topicIds()