public interface ClusterMetadataProvider extends Provider
cluster metadata
provider.Modifier and Type | Method and Description |
---|---|
void |
addActivePartitionMember(PartitionId partitionId,
NodeId nodeId)
Adds a controller node to the list of active members for a partition.
|
java.util.Set<NodeId> |
getActivePartitionMembers(PartitionId partitionId)
Returns the set of controller nodes that are the active members for a partition.
|
Versioned<ClusterMetadata> |
getClusterMetadata()
Returns the current cluster metadata.
|
boolean |
isAvailable()
Tells if this provider is currently available and therefore can provide ClusterMetadata.
|
void |
removeActivePartitionMember(PartitionId partitionId,
NodeId nodeId)
Removes a controller node from the list of active members for a partition.
|
void |
setClusterMetadata(ClusterMetadata metadata)
Updates cluster metadata.
|
boolean isAvailable()
true
if this provider is available and can provide cluster metadata.Versioned<ClusterMetadata> getClusterMetadata()
void setClusterMetadata(ClusterMetadata metadata)
metadata
- new metadatavoid addActivePartitionMember(PartitionId partitionId, NodeId nodeId)
Active members of a partition are those that are actively participating in the data replication protocol being employed. When a node first added to a partition, it is in a passive or catch up mode where it attempts to bring it self up to speed with other active members in the partition.
partitionId
- partition identifiernodeId
- identifier of controller nodevoid removeActivePartitionMember(PartitionId partitionId, NodeId nodeId)
partitionId
- partition identifiernodeId
- identifier of controller nodejava.util.Set<NodeId> getActivePartitionMembers(PartitionId partitionId)
Active members of a partition are typically those that are actively participating in the data replication protocol being employed. When a node first added to a partition, it is in a passive or catch up mode where it attempts to bring it self up to speed with other active members in the partition.
Note:If is possible for this list to different from the list of partition members specified by cluster meta data. The discrepancy can arise due to the fact that adding/removing members from a partition requires a data hand-off mechanism to complete.
partitionId
- partition identifier