summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2017-06-29 11:48:02 +0200
committerJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2017-06-29 11:48:02 +0200
commitc3b77fd466111244dba820e7c993436d18588467 (patch)
tree1b712675eccc777321921b136b72a74c51241975
parenta18fc50def42eca56bff4bd9143a07e5557eb7cc (diff)
downloadrabbitmq-server-git-c3b77fd466111244dba820e7c993436d18588467.tar.gz
rabbit_runtime_parameters: Pass `ActingUser` to clear_component()
In rabbit_exchange_parameters, use ?INTERNAL_USER when calling clear_component(). This fixes the call to clear() which expects this `ActingUser`. This went unnoticed because the function was called as M:F() instead of F() even though the function is local. Reported by xref. [#140125673]
-rw-r--r--src/rabbit_exchange_parameters.erl3
-rw-r--r--src/rabbit_runtime_parameters.erl7
2 files changed, 6 insertions, 4 deletions
diff --git a/src/rabbit_exchange_parameters.erl b/src/rabbit_exchange_parameters.erl
index 643115cc8d..2c95a823ee 100644
--- a/src/rabbit_exchange_parameters.erl
+++ b/src/rabbit_exchange_parameters.erl
@@ -34,7 +34,8 @@ register() ->
?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT, ?MODULE),
%% ensure there are no leftovers from before node restart/crash
rabbit_runtime_parameters:clear_component(
- ?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT),
+ ?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT,
+ ?INTERNAL_USER),
ok.
validate(_VHost, ?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT, _Name, _Term, _User) ->
diff --git a/src/rabbit_runtime_parameters.erl b/src/rabbit_runtime_parameters.erl
index 1110423d98..ab39d86659 100644
--- a/src/rabbit_runtime_parameters.erl
+++ b/src/rabbit_runtime_parameters.erl
@@ -53,7 +53,7 @@
-export([parse_set/5, set/5, set_any/5, clear/4, clear_any/4, list/0, list/1,
list_component/1, list/2, list_formatted/1, list_formatted/3,
- lookup/3, value/3, value/4, info_keys/0, clear_component/1]).
+ lookup/3, value/3, value/4, info_keys/0, clear_component/2]).
-export([parse_set_global/3, set_global/3, value_global/1, value_global/2,
list_global/0, list_global_formatted/0, list_global_formatted/2,
@@ -228,14 +228,15 @@ clear_global(Key, ActingUser) ->
end
end.
-clear_component(Component) ->
+clear_component(Component, ActingUser) ->
case list_component(Component) of
[] ->
ok;
Xs ->
[clear(pget(vhost, X),
pget(component, X),
- pget(name, X)) || X <- Xs],
+ pget(name, X),
+ ActingUser) || X <- Xs],
ok
end.