Interface DistributedShardFactory

  • All Known Implementing Classes:
    DistributedShardedDOMDataTree

    @Beta
    public interface DistributedShardFactory
    A factory that handles addition of new clustered shard's based on a prefix. This factory is a QoL class that handles all the boilerplate that comes with registration of a new clustered shard into the system and creating the backend shard/replicas that come along with it.
    • Method Detail

      • createDistributedShard

        CompletionStage<DistributedShardRegistration> createDistributedShard​(org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier prefix,
                                                                             Collection<org.opendaylight.controller.cluster.access.concepts.MemberName> replicaMembers)
                                                                      throws org.opendaylight.mdsal.dom.api.DOMDataTreeShardingConflictException
        Register a new shard that is rooted at the desired prefix with replicas on the provided members. Note to register a shard without replicas you still need to provide at least one Member for the shard.
        Parameters:
        prefix - Shard root
        replicaMembers - Members that this shard is replicated on, has to have at least one Member even if the shard should not be replicated.
        Returns:
        A future that will be completed with a DistributedShardRegistration once the backend and frontend shards are spawned.
        Throws:
        org.opendaylight.mdsal.dom.api.DOMDataTreeShardingConflictException - If the initial check for a conflict on the local node fails, the sharding configuration won't be updated if this exception is thrown.