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}]}).
|
{enables, recovery}]}).
|
||||||
|
|
||||||
register() ->
|
register() ->
|
||||||
rabbit_registry:register(runtime_parameter,
|
case rabbit_registry:register(
|
||||||
?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT, ?MODULE),
|
runtime_parameter,
|
||||||
%% ensure there are no leftovers from before node restart/crash
|
?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT, ?MODULE) of
|
||||||
_ = rabbit_runtime_parameters:clear_component(
|
ok ->
|
||||||
?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT,
|
%% ensure there are no leftovers from before node restart/crash
|
||||||
?INTERNAL_USER),
|
_ = rabbit_runtime_parameters:clear_component(
|
||||||
ok.
|
?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT,
|
||||||
|
?INTERNAL_USER),
|
||||||
|
ok;
|
||||||
|
{error, _} = Err ->
|
||||||
|
Err
|
||||||
|
end.
|
||||||
|
|
||||||
validate(_VHost, ?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT, _Name, _Term, _User) ->
|
validate(_VHost, ?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT, _Name, _Term, _User) ->
|
||||||
ok.
|
ok.
|
||||||
|
|
|
@ -49,14 +49,22 @@ active(Q) when ?is_amqqueue(Q) ->
|
||||||
list() -> [M || {_, M} <- rabbit_registry:lookup_all(queue_decorator)].
|
list() -> [M || {_, M} <- rabbit_registry:lookup_all(queue_decorator)].
|
||||||
|
|
||||||
register(TypeName, ModuleName) ->
|
register(TypeName, ModuleName) ->
|
||||||
rabbit_registry:register(queue_decorator, TypeName, ModuleName),
|
case rabbit_registry:register(queue_decorator, TypeName, ModuleName) of
|
||||||
[maybe_recover(Q) || Q <- rabbit_amqqueue:list()],
|
ok ->
|
||||||
ok.
|
rabbit_misc:for_each_while_ok(
|
||||||
|
fun maybe_recover/1, rabbit_amqqueue:list());
|
||||||
|
{error, _} = Err ->
|
||||||
|
Err
|
||||||
|
end.
|
||||||
|
|
||||||
unregister(TypeName) ->
|
unregister(TypeName) ->
|
||||||
rabbit_registry:unregister(queue_decorator, TypeName),
|
case rabbit_registry:unregister(queue_decorator, TypeName) of
|
||||||
[maybe_recover(Q) || Q <- rabbit_amqqueue:list()],
|
ok ->
|
||||||
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) ->
|
maybe_recover(Q0) when ?is_amqqueue(Q0) ->
|
||||||
Name = amqqueue:get_name(Q0),
|
Name = amqqueue:get_name(Q0),
|
||||||
|
|
Loading…
Reference in New Issue