Class TopicPartitionInfo


  • public class TopicPartitionInfo
    extends Object
    A class containing leadership, replicas and ISR information for a topic partition.
    • Constructor Detail

      • TopicPartitionInfo

        public TopicPartitionInfo()
        Constructor
      • TopicPartitionInfo

        public TopicPartitionInfo​(List<Node> isr,
                                  Node leader,
                                  int partition,
                                  List<Node> replicas)
        Constructor
        Parameters:
        isr - the subset of the replicas that are in sync
        leader - the node id of the node currently acting as a leader
        partition - the partition id
        replicas - the complete set of replicas for this partition
      • TopicPartitionInfo

        public TopicPartitionInfo​(JsonObject json)
        Constructor (from JSON representation)
        Parameters:
        json - JSON representation
    • Method Detail

      • getIsr

        public List<Node> getIsr()
        Returns:
        the subset of the replicas that are in sync, that is caught-up to the leader and ready to take over as leader if the leader should fail
      • setIsr

        public TopicPartitionInfo setIsr​(List<Node> isr)
        Set the subset of the replicas that are in sync
        Parameters:
        isr - the subset of the replicas that are in sync
        Returns:
        current instance of the class to be fluent
      • getLeader

        public Node getLeader()
        Returns:
        the node id of the node currently acting as a leader for this partition or null if there is no leader
      • setLeader

        public TopicPartitionInfo setLeader​(Node leader)
        Set the node id of the node currently acting as a leader
        Parameters:
        leader - the node id of the node currently acting as a leader
        Returns:
        current instance of the class to be fluent
      • getPartition

        public int getPartition()
        Returns:
        the partition id
      • setPartition

        public TopicPartitionInfo setPartition​(int partition)
        Set the partition id
        Parameters:
        partition - the partition id
        Returns:
        current instance of the class to be fluent
      • getReplicas

        public List<Node> getReplicas()
        Returns:
        the complete set of replicas for this partition regardless of whether they are alive or up-to-date
      • setReplicas

        public TopicPartitionInfo setReplicas​(List<Node> replicas)
        Set the complete set of replicas for this partition
        Parameters:
        replicas - the complete set of replicas for this partition
        Returns:
        current instance of the class to be fluent
      • toJson

        public JsonObject toJson()
        Convert object to JSON representation
        Returns:
        JSON representation