Skip to content

Commit a6df376

Browse files
committed
Max value policy. Update descriptions
1 parent 59c8656 commit a6df376

File tree

3 files changed

+11
-17
lines changed

3 files changed

+11
-17
lines changed

deps/rabbit/src/rabbit.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@
176176
{enables, core_initialized}]}).
177177

178178
-rabbit_boot_step({rabbit_queue_member_eval,
179-
[{description, "TODO"},
179+
[{description, "Queue membership evaluation"},
180180
{mfa, {rabbit_sup, start_restartable_child,
181181
[rabbit_queue_member_eval]}},
182182
{requires, [database]}]}).

deps/rabbit/src/rabbit_queue_member_eval.erl

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -180,23 +180,13 @@ should_add_node(MemberNodes, New, Q, TargetSize) ->
180180
maybe
181181
true ?= CurrentSize < TargetSize, %% Target size not reached
182182
true ?= (TargetSize - CurrentSize) =< length(New), %% Enough nodes,
183-
true ?= rabbit_nodes:is_running(lists:delete(node(), MemberNodes)),
184-
true ?= are_members_up_to_date(MemberNodes, Q)
183+
true ?= rabbit_nodes:is_running(lists:delete(node(), MemberNodes))
185184
end.
186185

187-
are_members_up_to_date(_MemberNodes, _Q) ->
188-
%% _RaMetrics = erpc:multicall(lists:delete(node(), MemberNodes),
189-
%% ets,
190-
%% lookup,
191-
%% [ra_metrics, amqqueue:get_name(Q)], 10000),
192-
%% _LocalMetric = ets:lookup(ra_metrics, amqqueue:get_name(Q)),
193-
%% Do something with the result
194-
true.
195-
196186
get_target_size(Q, undefined) ->
197187
get_target_size(Q);
198-
get_target_size(_Q, N) when N > 0 ->
199-
N.
188+
get_target_size(Q, N) when N > 0 ->
189+
max(N, get_target_size(Q)).
200190

201191
get_target_size(Q) ->
202192
case rabbit_policy:get(<<"target-group-size">>, Q) of

deps/rabbit/src/rabbit_quorum_queue.erl

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,11 @@
121121

122122
-rabbit_boot_step(
123123
{?MODULE,
124-
[{description, "QQ policy validation"},
124+
[{description, "QQ target group size policies. "
125+
"target-group-size controls the targeted number of "
126+
"member nodes for the queue. If set, RabbitMQ will try to "
127+
"grow the queue members to the target size. "
128+
"See module rabbit_queue_member_eval."},
125129
{mfa, {rabbit_registry, register,
126130
[policy_validator, <<"target-group-size">>, ?MODULE]}},
127131
{mfa, {rabbit_registry, register,
@@ -138,8 +142,8 @@ validate_policy(Args) ->
138142
false -> {error, "~tp is not a valid qq target count value", [Count]}
139143
end.
140144

141-
merge_policy_value(<<"target-group-size">>, _Val, OpVal) ->
142-
OpVal.
145+
merge_policy_value(<<"target-group-size">>, Val, OpVal) ->
146+
max(Val, OpVal).
143147

144148
%%----------- rabbit_queue_type ---------------------------------------------
145149

0 commit comments

Comments
 (0)