Module machi_chain_manager1

The Machi chain manager, Guardian of all things related to Chain Replication state, status, and data replica safety.

Behaviours: gen_server.

Description

The Machi chain manager, Guardian of all things related to Chain Replication state, status, and data replica safety.

The Chain Manager is responsible for managing the state of Machi's "Chain Replication" state. This role is roughly analogous to the "Riak Core" application inside of Riak, which takes care of coordinating replica placement and replica repair.

For each primitive data server in the cluster, a Machi FLU, there is a Chain Manager process that manages its FLU's role within the Machi cluster's Chain Replication scheme. Each Chain Manager process executes locally and independently to manage the distributed state of a single Machi Chain Replication chain.

Machi's Chain Manager process performs similar tasks as Riak Core's claimant. However, Machi has several active Chain Manager processes, one per FLU server, instead of a single active process like Core's claimant. Each Chain Manager process acts independently; each is constrained so that it will reach consensus via independent computation & action.

Function Index

code_change/3
get_all_hosed/1
handle_call/3
handle_cast/2
handle_info/2
init/1
make_projection_summary/1
ping/1
projection_transitions_are_sane/2
start_link/3
start_link/4
stop/1
terminate/2
test_calc_projection/2
test_calc_proposed_projection/1
test_react_to_env/1
test_read_latest_public_projection/2
test_write_proposed_projection/1

Function Details

code_change/3

code_change(OldVsn, S, Extra) -> any()

get_all_hosed/1

get_all_hosed(P) -> any()

handle_call/3

handle_call(Call, From, Ch_mgr) -> any()

handle_cast/2

handle_cast(Cast, Ch_mgr) -> any()

handle_info/2

handle_info(Msg, S) -> any()

init/1

init(X1) -> any()

make_projection_summary/1

make_projection_summary(Projection_v1) -> any()

ping/1

ping(Pid) -> any()

projection_transitions_are_sane/2

projection_transitions_are_sane(Ps, RelativeToServer) -> any()

start_link/3

start_link(MyName, All_list, MyFLUPid) -> any()

start_link/4

start_link(MyName, All_list, MyFLUPid, MgrOpts) -> any()

stop/1

stop(Pid) -> any()

terminate/2

terminate(Reason, S) -> any()

test_calc_projection/2

test_calc_projection(Pid, KeepRunenvP) -> any()

test_calc_proposed_projection/1

test_calc_proposed_projection(Pid) -> any()

test_react_to_env/1

test_react_to_env(Pid) -> any()

test_read_latest_public_projection/2

test_read_latest_public_projection(Pid, ReadRepairP) -> any()

test_write_proposed_projection/1

test_write_proposed_projection(Pid) -> any()


Generated by EDoc, Apr 8 2015, 17:31:11.