Behaviours: gen_server.
action() = leave | remove | {replace, node()} | {force_replace, node()}
riak_core_ring() = riak_core_ring:riak_core_ring()
ring_transition() = {riak_core_ring(), riak_core_ring()}
| abort_resize/0 | |
| activate_bucket_type/1 | |
| bucket_type_iterator/0 | |
| bucket_type_status/1 | |
| clear/0 | Clear the current set of staged transfers. |
| code_change/3 | |
| commit/0 | Commit the set of staged cluster changes, returning true on success. |
| create_bucket_type/2 | |
| force_replace/2 | Stage a request for Node to be forcefully replaced by NewNode. |
| get_bucket_type/2 | Lookup the properties for BucketType. |
| get_bucket_type/3 | Lookup the properties for BucketType. |
| handle_call/3 | |
| handle_cast/2 | |
| handle_info/2 | |
| init/1 | |
| leave_member/1 | Stage a request for Node to leave the cluster. |
| plan/0 | Determine how the cluster will be affected by the staged changes, returning the set of pending changes as well as a list of ring modifications that correspond to each resulting cluster transition (eg. |
| reassign_indices/1 | |
| remove_member/1 | Stage a request for Node to be forcefully removed from the cluster. |
| replace/2 | Stage a request for Node to be replaced by NewNode. |
| resize_ring/1 | Stage a request to resize the ring. |
| ring_changed/2 | This function is called as part of the ring reconciliation logic triggered by the gossip subsystem. |
| start_link/0 | Spawn and register the riak_core_claimant server. |
| terminate/2 | |
| update_bucket_type/2 |
abort_resize() -> ok | {error, atom()}
activate_bucket_type(BucketType::riak_core_bucket_type:bucket_type()) -> ok | {error, undefined | not_ready}
See also: riak_core_bucket_type:activate/1.
bucket_type_iterator() -> riak_core_metadata:iterator()
See also: riak_core_bucket_type:iterator/0.
bucket_type_status(BucketType::riak_core_bucket_type:bucket_type()) -> undefined | created | ready | active
See also: riak_core_bucket_type:status/1.
clear() -> any()
Clear the current set of staged transfers
code_change(OldVsn, State, Extra) -> any()
commit() -> ok | {error, term()}
Commit the set of staged cluster changes, returning true on success. A commit is only allowed to succeed if the ring is ready and if the current set of changes matches those computed by the most recent call to plan/0.
create_bucket_type(BucketType::riak_core_bucket_type:bucket_type(), Props::[{atom(), any()}]) -> ok | {error, term()}
See also: riak_core_bucket_type:create/2.
force_replace(Node, NewNode) -> any()
Stage a request for Node to be forcefully replaced by NewNode.
If committed, all partitions owned by Node will immediately be
re-assigned to NewNode. No data on Node will be transfered,
and all replicas on Node will be lost. The current implementation
requires NewNode to be a fresh node that is joining the cluster
and does not yet own any partitions of its own.
get_bucket_type(BucketType::riak_core_bucket_type:bucket_type(), X) -> [{atom(), any()}] | X
Lookup the properties for BucketType. If there are no properties or
the type is inactive, the given Default value is returned.
get_bucket_type(BucketType::riak_core_bucket_type:bucket_type(), X, RequireActive::boolean()) -> [{atom(), any()}] | X
Lookup the properties for BucketType. If there are no properties or
the type is inactive and RequireActive is true, the given Default value is
returned.
handle_call(Request, From, State) -> any()
handle_cast(Msg, State) -> any()
handle_info(Info, State) -> any()
init(X1) -> any()
leave_member(Node) -> any()
Stage a request for Node to leave the cluster. If committed, Node
will handoff all of its data to other nodes in the cluster and then
shutdown.
plan() -> {error, term()} | {ok, [action()], [ring_transition()]}
Determine how the cluster will be affected by the staged changes, returning the set of pending changes as well as a list of ring modifications that correspond to each resulting cluster transition (eg. the initial transition that applies the staged changes, and any additional transitions triggered by later rebalancing).
reassign_indices(CState) -> any()
remove_member(Node) -> any()
Stage a request for Node to be forcefully removed from the cluster.
If committed, all partitions owned by Node will immediately be
re-assigned to other nodes. No data on Node will be transfered to
other nodes, and all replicas on Node will be lost.
replace(Node, NewNode) -> any()
Stage a request for Node to be replaced by NewNode. If committed,
Node will handoff all of its data to NewNode and then shutdown.
The current implementation requires NewNode to be a fresh node that
is joining the cluster and does not yet own any partitions of its own.
resize_ring(NewRingSize::integer()) -> ok | {error, atom()}
Stage a request to resize the ring. If committed, all nodes will participate in resizing operation. Unlike other operations, the new ring is not installed until all transfers have completed. During that time requests continue to be routed to the old ring. After completion, the new ring is installed and data is safely removed from partitons no longer owner by a node or present in the ring.
ring_changed(Node, Ring) -> any()
This function is called as part of the ring reconciliation logic triggered by the gossip subsystem. This is only called on the one node that is currently the claimant. This function is the top-level entry point to the claimant logic that orchestrates cluster state transitions. The current code path: riak_core_gossip:reconcile/2 --> riak_core_ring:ring_changed/2 -----> riak_core_ring:internal_ring_changed/2 --------> riak_core_claimant:ring_changed/2
start_link() -> any()
Spawn and register the riak_core_claimant server
terminate(Reason, State) -> any()
update_bucket_type(BucketType::riak_core_bucket_type:bucket_type(), Props::[{atom(), any()}]) -> ok | {error, term()}
See also: riak_core_bucket_type:update/2.
Generated by EDoc