Change 'COMMIT epoch' logging & chain mgr options
This commit is contained in:
parent
affad6b1d3
commit
d5c3da78fb
3 changed files with 26 additions and 21 deletions
|
@ -16,6 +16,10 @@
|
||||||
%% Default = 10
|
%% Default = 10
|
||||||
%% {metadata_manager_count, 2},
|
%% {metadata_manager_count, 2},
|
||||||
|
|
||||||
|
%% Default options for chain manager processes.
|
||||||
|
%% {chain_manager_opts, [{private_write_verbose,true},
|
||||||
|
%% {private_write_verbose_confirm,true}]},
|
||||||
|
|
||||||
%% Platform vars (mirror of reltool packaging)
|
%% Platform vars (mirror of reltool packaging)
|
||||||
{platform_data_dir, "{{platform_data_dir}}"},
|
{platform_data_dir, "{{platform_data_dir}}"},
|
||||||
{platform_etc_dir, "{{platform_etc_dir}}"},
|
{platform_etc_dir, "{{platform_etc_dir}}"},
|
||||||
|
|
|
@ -234,11 +234,13 @@ test_read_latest_public_projection(Pid, ReadRepairP) ->
|
||||||
%% manager's pid in MgrOpts and use direct gen_server calls to the
|
%% manager's pid in MgrOpts and use direct gen_server calls to the
|
||||||
%% local projection store.
|
%% local projection store.
|
||||||
|
|
||||||
init({MyName, InitMembersDict, MgrOpts}) ->
|
init({MyName, InitMembersDict, MgrOpts0}) ->
|
||||||
put(ttt, [?LINE]),
|
put(ttt, [?LINE]),
|
||||||
_ = random:seed(now()),
|
_ = random:seed(now()),
|
||||||
init_remember_down_list(),
|
init_remember_down_list(),
|
||||||
|
MgrOpts = MgrOpts0 ++ application:get_env(machi, chain_manager_opts, []),
|
||||||
Opt = fun(Key, Default) -> proplists:get_value(Key, MgrOpts, Default) end,
|
Opt = fun(Key, Default) -> proplists:get_value(Key, MgrOpts, Default) end,
|
||||||
|
|
||||||
InitWitness_list = Opt(witnesses, []),
|
InitWitness_list = Opt(witnesses, []),
|
||||||
ZeroAll_list = [P#p_srvr.name || {_,P} <- orddict:to_list(InitMembersDict)],
|
ZeroAll_list = [P#p_srvr.name || {_,P} <- orddict:to_list(InitMembersDict)],
|
||||||
ZeroProj = make_none_projection(0, MyName, ZeroAll_list,
|
ZeroProj = make_none_projection(0, MyName, ZeroAll_list,
|
||||||
|
@ -2060,7 +2062,6 @@ react_to_env_C120(P_latest, FinalProps, #ch_mgr{proj_history=H,
|
||||||
?REACT(c120),
|
?REACT(c120),
|
||||||
H2 = add_and_trunc_history(P_latest, H, ?MAX_HISTORY_LENGTH),
|
H2 = add_and_trunc_history(P_latest, H, ?MAX_HISTORY_LENGTH),
|
||||||
|
|
||||||
%% diversion_c120_verbose_goop(P_latest, S),
|
|
||||||
?REACT({c120, [{latest, machi_projection:make_summary(P_latest)}]}),
|
?REACT({c120, [{latest, machi_projection:make_summary(P_latest)}]}),
|
||||||
S2 = set_proj(S#ch_mgr{proj_history=H2,
|
S2 = set_proj(S#ch_mgr{proj_history=H2,
|
||||||
sane_transitions=Xtns + 1}, P_latest),
|
sane_transitions=Xtns + 1}, P_latest),
|
||||||
|
@ -2487,9 +2488,9 @@ poll_private_proj_is_upi_unanimous3(#ch_mgr{name=MyName, proj=P_current} = S) ->
|
||||||
upi=_UPIRep,
|
upi=_UPIRep,
|
||||||
repairing=_RepairingRep} = NewProj,
|
repairing=_RepairingRep} = NewProj,
|
||||||
ok = machi_projection_store:write(ProjStore, private, NewProj),
|
ok = machi_projection_store:write(ProjStore, private, NewProj),
|
||||||
case proplists:get_value(private_write_verbose, S#ch_mgr.opts) of
|
case proplists:get_value(private_write_verbose_confirm, S#ch_mgr.opts) of
|
||||||
true ->
|
true ->
|
||||||
io:format(user, "\n~s CONFIRM epoch ~w ~w upi ~w rep ~w by ~w\n", [machi_util:pretty_time(), _EpochRep, _CSumRep, _UPIRep, _RepairingRep, MyName]);
|
error_logger:info_msg("CONFIRM epoch ~w ~w upi ~w rep ~w by ~w\n", [_EpochRep, _CSumRep, _UPIRep, _RepairingRep, MyName]);
|
||||||
_ ->
|
_ ->
|
||||||
ok
|
ok
|
||||||
end,
|
end,
|
||||||
|
@ -2965,34 +2966,33 @@ zerf_find_last_annotated(FLU, MajoritySize, S) ->
|
||||||
[] % lists:flatten() will destroy
|
[] % lists:flatten() will destroy
|
||||||
end.
|
end.
|
||||||
|
|
||||||
perhaps_verbose_c111(P_latest2, S) ->
|
perhaps_verbose_c111(P_latest2, #ch_mgr{name=MyName, opts=Opts}=S) ->
|
||||||
case proplists:get_value(private_write_verbose, S#ch_mgr.opts) of
|
PrivWriteVerb = proplists:get_value(private_write_verbose, Opts, false),
|
||||||
true ->
|
PrivWriteVerbCONFIRM = proplists:get_value(private_write_verbose_confirm, Opts, false),
|
||||||
|
if PrivWriteVerb orelse PrivWriteVerbCONFIRM ->
|
||||||
Dbg2X = lists:keydelete(react, 1,
|
Dbg2X = lists:keydelete(react, 1,
|
||||||
P_latest2#projection_v1.dbg2) ++
|
P_latest2#projection_v1.dbg2) ++
|
||||||
[{is_annotated,is_annotated(P_latest2)}],
|
[{is_annotated,is_annotated(P_latest2)}],
|
||||||
P_latest2x = P_latest2#projection_v1{dbg2=Dbg2X}, % limit verbose len.
|
P_latest2x = P_latest2#projection_v1{dbg2=Dbg2X}, % limit verbose len.
|
||||||
Last2 = get(last_verbose),
|
Last2 = get(last_verbose),
|
||||||
Summ2 = machi_projection:make_summary(P_latest2x),
|
Summ2 = machi_projection:make_summary(P_latest2x),
|
||||||
if P_latest2#projection_v1.upi == [],
|
if PrivWriteVerb, Summ2 /= Last2 ->
|
||||||
(S#ch_mgr.proj)#projection_v1.upi /= [] ->
|
put(last_verbose, Summ2),
|
||||||
<<CSumRep:4/binary,_/binary>> =
|
?V("\n~s ~p uses plain: ~w \n",
|
||||||
P_latest2#projection_v1.epoch_csum,
|
[machi_util:pretty_time(), MyName, Summ2]);
|
||||||
io:format(user, "~s CONFIRM epoch ~w ~w upi ~w rep ~w by ~w\n", [machi_util:pretty_time(), (S#ch_mgr.proj)#projection_v1.epoch_number, CSumRep, P_latest2#projection_v1.upi, P_latest2#projection_v1.repairing, S#ch_mgr.name]);
|
|
||||||
true ->
|
true ->
|
||||||
ok
|
ok
|
||||||
end,
|
end,
|
||||||
case proplists:get_value(private_write_verbose,
|
if PrivWriteVerbCONFIRM,
|
||||||
S#ch_mgr.opts) of
|
P_latest2#projection_v1.upi == [],
|
||||||
%% case true of
|
(S#ch_mgr.proj)#projection_v1.upi /= [] ->
|
||||||
true when Summ2 /= Last2 ->
|
<<CSumRep:4/binary,_/binary>> =
|
||||||
put(last_verbose, Summ2),
|
P_latest2#projection_v1.epoch_csum,
|
||||||
?V("\n~s ~p uses plain: ~w \n",
|
error_logger:info_msg("CONFIRM epoch ~w ~w upi ~w rep ~w by ~w\n", [(S#ch_mgr.proj)#projection_v1.epoch_number, CSumRep, P_latest2#projection_v1.upi, P_latest2#projection_v1.repairing, S#ch_mgr.name]);
|
||||||
[machi_util:pretty_time(), S#ch_mgr.name, Summ2]);
|
true ->
|
||||||
_ ->
|
|
||||||
ok
|
ok
|
||||||
end;
|
end;
|
||||||
_ ->
|
true ->
|
||||||
ok
|
ok
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
|
@ -134,6 +134,7 @@ Press control-c to interrupt the test....".
|
||||||
%% convergence_demo_testfun(3).
|
%% convergence_demo_testfun(3).
|
||||||
|
|
||||||
-define(DEFAULT_MGR_OPTS, [{private_write_verbose, false},
|
-define(DEFAULT_MGR_OPTS, [{private_write_verbose, false},
|
||||||
|
{private_write_verbose_confirm, true},
|
||||||
{active_mode,false},
|
{active_mode,false},
|
||||||
{use_partition_simulator, true}]).
|
{use_partition_simulator, true}]).
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue