diff options
author | Michael Klishin <michael@clojurewerkz.org> | 2020-04-27 06:45:42 +0300 |
---|---|---|
committer | Michael Klishin <michael@clojurewerkz.org> | 2020-04-27 06:45:42 +0300 |
commit | 5736984b86480dc304e3f11876dbb4aa4645c261 (patch) | |
tree | 6c597c58f083c37460839ea7f05aa7f9643c35f4 /deps/rabbitmq_shovel | |
parent | 9c1e9144443a8ddf24e86c8ce1d82060d4655296 (diff) | |
download | rabbitmq-server-git-5736984b86480dc304e3f11876dbb4aa4645c261.tar.gz |
Fall back to delete-after where src-delete-after is used in a few more places
064a7ff49fc6 missed these.
Closes #72, spotted and suggested by @inikulshin.
Diffstat (limited to 'deps/rabbitmq_shovel')
4 files changed, 11 insertions, 5 deletions
diff --git a/deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup.erl b/deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup.erl index e7cf8a2159..d2886bfd01 100644 --- a/deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup.erl +++ b/deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup.erl @@ -39,7 +39,7 @@ init([Name, Config0]) -> end, Restart = case Delay of N when is_integer(N) andalso N > 0 -> - case pget(<<"src-delete-after">>, Config, <<"never">>) of + case pget(<<"src-delete-after">>, Config, pget(<<"delete-after">>, Config, <<"never">>)) of %% always try to reconnect <<"never">> -> {permanent, N}; %% this Shovel is an autodelete one diff --git a/deps/rabbitmq_shovel/src/rabbit_shovel_parameters.erl b/deps/rabbitmq_shovel/src/rabbit_shovel_parameters.erl index 5059960d5c..f9c44a6a90 100644 --- a/deps/rabbitmq_shovel/src/rabbit_shovel_parameters.erl +++ b/deps/rabbitmq_shovel/src/rabbit_shovel_parameters.erl @@ -84,7 +84,7 @@ validate_amqp091_src(Def) -> one -> ok; both -> {error, "Cannot specify 'src-exchange' and 'src-queue'", []} end, - case {pget(<<"delete-after">>, Def), pget(<<"ack-mode">>, Def)} of + case {pget(<<"src-delete-after">>, Def, pget(<<"delete-after">>, Def)), pget(<<"ack-mode">>, Def)} of {N, <<"no-ack">>} when is_integer(N) -> {error, "Cannot specify 'no-ack' and numerical 'delete-after'", []}; _ -> @@ -131,7 +131,9 @@ amqp091_src_validation(_Def, User) -> {<<"src-queue">>, fun rabbit_parameter_validation:binary/2,optional}, {<<"prefetch-count">>, fun rabbit_parameter_validation:number/2,optional}, {<<"src-prefetch-count">>, fun rabbit_parameter_validation:number/2,optional}, + %% a deprecated pre-3.7 setting {<<"delete-after">>, fun validate_delete_after/2, optional}, + %% currently used multi-protocol friend name, introduced in 3.7 {<<"src-delete-after">>, fun validate_delete_after/2, optional} ]. diff --git a/deps/rabbitmq_shovel/test/dynamic_SUITE.erl b/deps/rabbitmq_shovel/test/dynamic_SUITE.erl index 153f045ef6..fde5826ad6 100644 --- a/deps/rabbitmq_shovel/test/dynamic_SUITE.erl +++ b/deps/rabbitmq_shovel/test/dynamic_SUITE.erl @@ -276,7 +276,7 @@ autodelete_do(Config, {AckMode, After, ExpSrc, ExpDest}) -> {<<"dest-queue">>, <<"dest">>}, {<<"src-prefetch-count">>, 50}, {<<"ack-mode">>, AckMode}, - {<<"delete-after">>, After}]), + {<<"src-delete-after">>, After}]), await_autodelete(Config, <<"test">>), expect_count(Ch, <<"dest">>, <<"hello">>, ExpDest), expect_count(Ch, <<"src">>, <<"hello">>, ExpSrc) @@ -320,7 +320,7 @@ validation(Config) -> invalid_param(Config, [{<<"ack-mode">>, <<"whenever">>} | QURIs]), invalid_param(Config, - [{<<"delete-after">>, <<"whenever">>} | QURIs]), + [{<<"src-delete-after">>, <<"whenever">>} | QURIs]), %% Check properties have to look property-ish valid_param(Config, @@ -345,6 +345,10 @@ validation(Config) -> %% Can't use explicit message count and no-ack together invalid_param(Config, + [{<<"src-delete-after">>, 1}, + {<<"ack-mode">>, <<"no-ack">>} | QURIs]), + %% superseded by src-delete-after + invalid_param(Config, [{<<"delete-after">>, 1}, {<<"ack-mode">>, <<"no-ack">>} | QURIs]), ok. diff --git a/deps/rabbitmq_shovel/test/parameters_SUITE.erl b/deps/rabbitmq_shovel/test/parameters_SUITE.erl index 4b8c0f2774..1deaf8f83f 100644 --- a/deps/rabbitmq_shovel/test/parameters_SUITE.erl +++ b/deps/rabbitmq_shovel/test/parameters_SUITE.erl @@ -83,7 +83,7 @@ parse_amqp091_maps(_Config) -> {<<"publish-properties">>, #{<<"cluster_id">> => <<"x">>, <<"delivery_mode">> => 2}}, {<<"ack-mode">>, <<"on-publish">>}, - {<<"delete-after">>, <<"queue-length">>}, + {<<"src-delete-after">>, <<"queue-length">>}, {<<"prefetch-count">>, 30}, {<<"reconnect-delay">>, 1001}, {<<"src-queue">>, <<"a-src-queue">>}, |