131
131
-define (MEMBER_CHANGE_TIMEOUT , 20_000 ).
132
132
-define (SNAPSHOT_INTERVAL , 8192 ). % % the ra default is 4096
133
133
% -define(UNLIMITED_PREFETCH_COUNT, 2000). %% something large for ra
134
+ -define (MIN_CHECKPOINT_INTERVAL , 8192 ). % % the ra default is 16384
134
135
135
136
% %----------- QQ policies ---------------------------------------------------
136
137
@@ -1777,9 +1778,14 @@ make_ra_conf(Q, ServerId, Membership) ->
1777
1778
? TICK_TIMEOUT ),
1778
1779
SnapshotInterval = application :get_env (rabbit , quorum_snapshot_interval ,
1779
1780
? SNAPSHOT_INTERVAL ),
1780
- make_ra_conf (Q , ServerId , TickTimeout , SnapshotInterval , Membership ).
1781
-
1782
- make_ra_conf (Q , ServerId , TickTimeout , SnapshotInterval , Membership ) ->
1781
+ CheckpointInterval = application :get_env (rabbit ,
1782
+ quorum_min_checkpoint_interval ,
1783
+ ? MIN_CHECKPOINT_INTERVAL ),
1784
+ make_ra_conf (Q , ServerId , TickTimeout ,
1785
+ SnapshotInterval , CheckpointInterval , Membership ).
1786
+
1787
+ make_ra_conf (Q , ServerId , TickTimeout ,
1788
+ SnapshotInterval , CheckpointInterval , Membership ) ->
1783
1789
QName = amqqueue :get_name (Q ),
1784
1790
RaMachine = ra_machine (Q ),
1785
1791
[{ClusterName , _ } | _ ] = Members = members (Q ),
@@ -1794,7 +1800,9 @@ make_ra_conf(Q, ServerId, TickTimeout, SnapshotInterval, Membership) ->
1794
1800
metrics_key => QName ,
1795
1801
initial_members => Members ,
1796
1802
log_init_args => #{uid => UId ,
1797
- snapshot_interval => SnapshotInterval },
1803
+ snapshot_interval => SnapshotInterval ,
1804
+ min_checkpoint_interval =>
1805
+ CheckpointInterval },
1798
1806
tick_timeout => TickTimeout ,
1799
1807
machine => RaMachine ,
1800
1808
ra_event_formatter => Formatter }).
0 commit comments