Skip to content

Commit 2ade2bc

Browse files
Merge pull request #4349 from rabbitmq/mergify/bp/v3.9.x/pr-4348
Make Quorum queue snapshot interval configurable (backport #4343) (backport #4348)
2 parents 4a927fd + e153cad commit 2ade2bc

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

deps/rabbit/src/rabbit_quorum_queue.erl

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@
104104
-define(TICK_TIMEOUT, 5000). %% the ra server tick time
105105
-define(DELETE_TIMEOUT, 5000).
106106
-define(ADD_MEMBER_TIMEOUT, 5000).
107+
-define(SNAPSHOT_INTERVAL, 8192). %% the ra default is 4096
107108

108109
%%----------- rabbit_queue_type ---------------------------------------------
109110

@@ -186,7 +187,9 @@ start_cluster(Q) ->
186187
{created, NewQ} ->
187188
TickTimeout = application:get_env(rabbit, quorum_tick_interval,
188189
?TICK_TIMEOUT),
189-
RaConfs = [make_ra_conf(NewQ, ServerId, TickTimeout)
190+
SnapshotInterval = application:get_env(rabbit, quorum_snapshot_interval,
191+
?SNAPSHOT_INTERVAL),
192+
RaConfs = [make_ra_conf(NewQ, ServerId, TickTimeout, SnapshotInterval)
190193
|| ServerId <- members(NewQ)],
191194
case ra:start_cluster(?RA_SYSTEM, RaConfs) of
192195
{ok, _, _} ->
@@ -1047,7 +1050,9 @@ add_member(Q, Node, Timeout) when ?amqqueue_is_quorum(Q) ->
10471050
Members = members(Q),
10481051
TickTimeout = application:get_env(rabbit, quorum_tick_interval,
10491052
?TICK_TIMEOUT),
1050-
Conf = make_ra_conf(Q, ServerId, TickTimeout),
1053+
SnapshotInterval = application:get_env(rabbit, quorum_snapshot_interval,
1054+
?SNAPSHOT_INTERVAL),
1055+
Conf = make_ra_conf(Q, ServerId, TickTimeout, SnapshotInterval),
10511056
case ra:start_server(?RA_SYSTEM, Conf) of
10521057
ok ->
10531058
case ra:add_member(Members, ServerId, Timeout) of
@@ -1552,7 +1557,7 @@ members(Q) when ?amqqueue_is_quorum(Q) ->
15521557
format_ra_event(ServerId, Evt, QRef) ->
15531558
{'$gen_cast', {queue_event, QRef, {ServerId, Evt}}}.
15541559

1555-
make_ra_conf(Q, ServerId, TickTimeout) ->
1560+
make_ra_conf(Q, ServerId, TickTimeout, SnapshotInterval) ->
15561561
QName = amqqueue:get_name(Q),
15571562
RaMachine = ra_machine(Q),
15581563
[{ClusterName, _} | _] = Members = members(Q),
@@ -1565,7 +1570,8 @@ make_ra_conf(Q, ServerId, TickTimeout) ->
15651570
friendly_name => FName,
15661571
metrics_key => QName,
15671572
initial_members => Members,
1568-
log_init_args => #{uid => UId},
1573+
log_init_args => #{uid => UId,
1574+
snapshot_interval => SnapshotInterval},
15691575
tick_timeout => TickTimeout,
15701576
machine => RaMachine,
15711577
ra_event_formatter => Formatter}.

0 commit comments

Comments
 (0)