Handle potential {error,_} returns from rabbit_registry (un)register
This mostly fixes dialyzer warnings since rabbit_registry:register/3 and rabbit_registry:unregister/2 may now return errors.
This commit is contained in:
parent
c0b163aacc
commit
7d3dbb8013
|
@ -21,13 +21,18 @@
|
|||
{enables, recovery}]}).
|
||||
|
||||
register() ->
|
||||
rabbit_registry:register(runtime_parameter,
|
||||
?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,
|
||||
?INTERNAL_USER),
|
||||
ok.
|
||||
case rabbit_registry:register(
|
||||
runtime_parameter,
|
||||
?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT, ?MODULE) of
|
||||
ok ->
|
||||
%% ensure there are no leftovers from before node restart/crash
|
||||
_ = rabbit_runtime_parameters:clear_component(
|
||||
?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT,
|
||||
?INTERNAL_USER),
|
||||
ok;
|
||||
{error, _} = Err ->
|
||||
Err
|
||||
end.
|
||||
|
||||
validate(_VHost, ?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT, _Name, _Term, _User) ->
|
||||
ok.
|
||||
|
|
|
@ -49,14 +49,22 @@ active(Q) when ?is_amqqueue(Q) ->
|
|||
list() -> [M || {_, M} <- rabbit_registry:lookup_all(queue_decorator)].
|
||||
|
||||
register(TypeName, ModuleName) ->
|
||||
rabbit_registry:register(queue_decorator, TypeName, ModuleName),
|
||||
[maybe_recover(Q) || Q <- rabbit_amqqueue:list()],
|
||||
ok.
|
||||
case rabbit_registry:register(queue_decorator, TypeName, ModuleName) of
|
||||
ok ->
|
||||
rabbit_misc:for_each_while_ok(
|
||||
fun maybe_recover/1, rabbit_amqqueue:list());
|
||||
{error, _} = Err ->
|
||||
Err
|
||||
end.
|
||||
|
||||
unregister(TypeName) ->
|
||||
rabbit_registry:unregister(queue_decorator, TypeName),
|
||||
[maybe_recover(Q) || Q <- rabbit_amqqueue:list()],
|
||||
ok.
|
||||
case rabbit_registry:unregister(queue_decorator, TypeName) of
|
||||
ok ->
|
||||
rabbit_misc:for_each_while_ok(
|
||||
fun maybe_recover/1, rabbit_amqqueue:list());
|
||||
{error, _} = Err ->
|
||||
Err
|
||||
end.
|
||||
|
||||
maybe_recover(Q0) when ?is_amqqueue(Q0) ->
|
||||
Name = amqqueue:get_name(Q0),
|
||||
|
|
Loading…
Reference in New Issue