Interface ClusterAdminService

    • Method Detail

      • addShardReplica

        @CheckReturnValue
        ListenableFuture<RpcResult<AddShardReplicaOutput>> addShardReplica​(AddShardReplicaInput input)
        Invoke add-shard-replica RPC.
             
                 Adds a replica of a shard to this node and joins it to an existing cluster. The
                 shard must already have a module configuration defined for it and there must
                 already be a shard existing on another node with a leader. This RPC first
                 contacts peer member seed nodes searching for a shard. When found, an AddServer
                 message is sent to the shard leader and applied as described in the Raft paper.
             
         
        Parameters:
        input - of add-shard-replica
        Returns:
        output of add-shard-replica
      • removeShardReplica

        @CheckReturnValue
        ListenableFuture<RpcResult<RemoveShardReplicaOutput>> removeShardReplica​(RemoveShardReplicaInput input)
        Invoke remove-shard-replica RPC.
             
                 Removes an existing replica of a shard from this node via the RemoveServer
                 mechanism as described in the Raft paper.
             
         
        Parameters:
        input - of remove-shard-replica
        Returns:
        output of remove-shard-replica
      • makeLeaderLocal

        @CheckReturnValue
        ListenableFuture<RpcResult<MakeLeaderLocalOutput>> makeLeaderLocal​(MakeLeaderLocalInput input)
        Invoke make-leader-local RPC.
             
                 Attempts to move the shard leader of the given module based shard to the local
                 node. The rpc returns a response after handling of the underlying
                 MakeLeaderLocal message completes. This operation fails if there is no current
                 shard leader due to lack of network connectivity or a cluster majority. In
                 addition, if the local node is not up to date with the current leader, an
                 attempt is made to first sync the local node with the leader. If this cannot be
                 achieved within two election timeout periods the operation fails.
             
         
        Parameters:
        input - of make-leader-local
        Returns:
        output of make-leader-local
      • addReplicasForAllShards

        @CheckReturnValue
        ListenableFuture<RpcResult<AddReplicasForAllShardsOutput>> addReplicasForAllShards​(AddReplicasForAllShardsInput input)
        Invoke add-replicas-for-all-shards RPC.
             
                 Adds replicas on this node for all currently defined shards. This is equivalent
                 to issuing an add-shard-replica RPC for all shards.
             
         
        Parameters:
        input - of add-replicas-for-all-shards
        Returns:
        output of add-replicas-for-all-shards
      • removeAllShardReplicas

        @CheckReturnValue
        ListenableFuture<RpcResult<RemoveAllShardReplicasOutput>> removeAllShardReplicas​(RemoveAllShardReplicasInput input)
        Invoke remove-all-shard-replicas RPC.
             
                 Removes replicas for all shards on this node. This is equivalent to issuing a
                 remove-shard-replica for all shards and essentially removes this node from a
                 cluster.
             
         
        Parameters:
        input - of remove-all-shard-replicas
        Returns:
        output of remove-all-shard-replicas
      • changeMemberVotingStatesForShard

        @CheckReturnValue
        ListenableFuture<RpcResult<ChangeMemberVotingStatesForShardOutput>> changeMemberVotingStatesForShard​(ChangeMemberVotingStatesForShardInput input)
        Invoke change-member-voting-states-for-shard RPC.
             
                 Changes the voting states, either voting or non-voting, of cluster members for a
                 shard. Non-voting members will no longer participate in leader elections and
                 consensus but will be replicated. This is useful for having a set of members
                 serve as a backup cluster in case the primary voting cluster suffers
                 catastrophic failure. This RPC can be issued to any cluster member and will be
                 forwarded to the leader.
             
         
        Parameters:
        input - of change-member-voting-states-for-shard
        Returns:
        output of change-member-voting-states-for-shard
      • changeMemberVotingStatesForAllShards

        @CheckReturnValue
        ListenableFuture<RpcResult<ChangeMemberVotingStatesForAllShardsOutput>> changeMemberVotingStatesForAllShards​(ChangeMemberVotingStatesForAllShardsInput input)
        Invoke change-member-voting-states-for-all-shards RPC.
             
                 Changes the voting states, either voting or non-voting, of cluster members for
                 all shards. Non-voting members will no longer participate in leader elections
                 and consensus but will be replicated. This is useful for having a set of members
                 serve as a backup cluster in case the primary voting cluster suffers
                 catastrophic failure. This RPC can be issued to any cluster member and will be
                 forwarded to the leader.
             
         
        Parameters:
        input - of change-member-voting-states-for-all-shards
        Returns:
        output of change-member-voting-states-for-all-shards
      • flipMemberVotingStatesForAllShards

        @CheckReturnValue
        ListenableFuture<RpcResult<FlipMemberVotingStatesForAllShardsOutput>> flipMemberVotingStatesForAllShards​(FlipMemberVotingStatesForAllShardsInput input)
        Invoke flip-member-voting-states-for-all-shards RPC.
             
                 Flips the voting states of all cluster members for all shards, such that if a
                 member was voting it becomes non-voting and vice versa.
             
         
        Parameters:
        input - of flip-member-voting-states-for-all-shards
        Returns:
        output of flip-member-voting-states-for-all-shards
      • getKnownClientsForAllShards

        @CheckReturnValue
        ListenableFuture<RpcResult<GetKnownClientsForAllShardsOutput>> getKnownClientsForAllShards​(GetKnownClientsForAllShardsInput input)
        Invoke get-known-clients-for-all-shards RPC.
             
                 Request all shards to report their known frontend clients. This is useful for
                 determining what generation should a resurrected member node should use.
             
         
        Parameters:
        input - of get-known-clients-for-all-shards
        Returns:
        output of get-known-clients-for-all-shards
      • activateEosDatacenter

        @CheckReturnValue
        ListenableFuture<RpcResult<ActivateEosDatacenterOutput>> activateEosDatacenter​(ActivateEosDatacenterInput input)
        Invoke activate-eos-datacenter RPC.
             
                 Activates the datacenter that the node this rpc is called on belongs to. The
                 caller must maintain only a single active datacenter at a time as the singleton
                 components will interfere with each other otherwise. This only needs to be used
                 if configuring multiple datacenters or if not using default datacenter.
             
         
        Parameters:
        input - of activate-eos-datacenter
        Returns:
        output of activate-eos-datacenter
      • deactivateEosDatacenter

        @CheckReturnValue
        ListenableFuture<RpcResult<DeactivateEosDatacenterOutput>> deactivateEosDatacenter​(DeactivateEosDatacenterInput input)
        Invoke deactivate-eos-datacenter RPC.
             
                 Deactivates the datacenter that the node this rpc is called on belongs to. The
                 caller must maintain only a single active datacenter at a time as the singleton
                 components will interfere with each other otherwise. This only needs to be used
                 if configuring multiple datacenters or if not using default datacenter.
             
         
        Parameters:
        input - of deactivate-eos-datacenter
        Returns:
        output of deactivate-eos-datacenter