Add A29 state for shouting circuit breaker for long long loops
This commit is contained in:
parent
b46730eb2c
commit
0278d7254b
1 changed files with 12 additions and 1 deletions
|
@ -1113,12 +1113,23 @@ react_to_env_A20(Retries, #ch_mgr{name=MyName}=S) ->
|
||||||
true ->
|
true ->
|
||||||
exit({badbad, UnanimousTag})
|
exit({badbad, UnanimousTag})
|
||||||
end,
|
end,
|
||||||
react_to_env_A30(Retries, P_latest, LatestUnanimousP, ReadExtra, S2).
|
react_to_env_A29(Retries, P_latest, LatestUnanimousP, ReadExtra, S2).
|
||||||
|
|
||||||
|
react_to_env_A29(Retries, P_latest, LatestUnanimousP, ReadExtra, S) ->
|
||||||
|
XX = length(get(react)),
|
||||||
|
if XX > 3000 ->
|
||||||
|
io:format(user, "CONFIRM by mgr ~p max len XX ~p, break\n",
|
||||||
|
[S#ch_mgr.name, XX]),
|
||||||
|
react_to_env_A50(P_latest, [], S);
|
||||||
|
true ->
|
||||||
|
react_to_env_A30(Retries, P_latest, LatestUnanimousP, ReadExtra, S)
|
||||||
|
end.
|
||||||
|
|
||||||
react_to_env_A30(Retries, P_latest, LatestUnanimousP, _ReadExtra,
|
react_to_env_A30(Retries, P_latest, LatestUnanimousP, _ReadExtra,
|
||||||
#ch_mgr{name=MyName, proj=P_current,
|
#ch_mgr{name=MyName, proj=P_current,
|
||||||
consistency_mode=CMode, flap_limit=FlapLimit} = S) ->
|
consistency_mode=CMode, flap_limit=FlapLimit} = S) ->
|
||||||
?REACT(a30),
|
?REACT(a30),
|
||||||
|
%% case length(get(react)) of XX when XX > 500 -> io:format(user, "A30 ~w! ~w: ~P\n", [MyName, XX, get(react), 300]), timer:sleep(500); _ -> ok end,
|
||||||
{P_newprop1, S2, Up} = calc_projection(S, MyName),
|
{P_newprop1, S2, Up} = calc_projection(S, MyName),
|
||||||
?REACT({a30, ?LINE, [{current, machi_projection:make_summary(S#ch_mgr.proj)}]}),
|
?REACT({a30, ?LINE, [{current, machi_projection:make_summary(S#ch_mgr.proj)}]}),
|
||||||
?REACT({a30, ?LINE, [{newprop1, machi_projection:make_summary(P_newprop1)}]}),
|
?REACT({a30, ?LINE, [{newprop1, machi_projection:make_summary(P_newprop1)}]}),
|
||||||
|
|
Loading…
Reference in a new issue