Merge pull request #5166 from rabbitmq/segment-checksums

Make computing checksums for quorum queues configurable
This commit is contained in:
Michael Klishin 2022-07-06 21:03:10 +04:00 committed by GitHub
commit fcdb0d3e08
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 1 deletions

View File

@ -2256,6 +2256,9 @@ end}.
end end
}. }.
{mapping, "quorum_queue.compute_checksums", "rabbit.quorum_compute_checksums", [
{datatype, {enum, [true, false]}}]}.
% =============================== % ===============================
% Validators % Validators
% =============================== % ===============================

View File

@ -72,7 +72,12 @@ ensure_ra_system_started(RaSystem) ->
get_config(quorum_queues = RaSystem) -> get_config(quorum_queues = RaSystem) ->
DefaultConfig = get_default_config(), DefaultConfig = get_default_config(),
DefaultConfig#{name => RaSystem}; % names => ra_system:derive_names(quorum) Checksums = application:get_env(rabbit, quorum_compute_checksums, true),
WalChecksums = application:get_env(rabbit, quorum_wal_compute_checksums, Checksums),
SegmentChecksums = application:get_env(rabbit, quorum_segment_compute_checksums, Checksums),
DefaultConfig#{name => RaSystem, % names => ra_system:derive_names(quorum)
wal_compute_checksums => WalChecksums,
segment_compute_checksums => SegmentChecksums};
get_config(coordination = RaSystem) -> get_config(coordination = RaSystem) ->
DefaultConfig = get_default_config(), DefaultConfig = get_default_config(),
CoordDataDir = filename:join( CoordDataDir = filename:join(

View File

@ -812,5 +812,16 @@ credential_validator.regexp = ^abc\\d+",
{classic_queue_default_version_invalid, {classic_queue_default_version_invalid,
"classic_queue.default_version = 3", "classic_queue.default_version = 3",
[], [],
[]},
%%
%% Quorum queue
%%
{quorum_queue_compute_checksums,
"quorum_queue.compute_checksums = true",
[{rabbit, [
{quorum_compute_checksums, true}
]}],
[]} []}
]. ].