summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAyanda Dube <ayanda.dube@8x8.com>2021-09-27 19:10:59 +0100
committermergify-bot <noreply@mergify.io>2021-09-27 19:29:12 +0000
commitb34cd9ad76bb44fe246051106672de3db4b2800b (patch)
treeee4beb08769a69e400f1334608390ca08f3210ac
parent5319336492bc4327247a0db55c391220b3da2f19 (diff)
downloadrabbitmq-server-git-mergify/bp/v3.9.x/pr-3511.tar.gz
Preserve stacktraces in propagated unexpected internal auth backendmergify/bp/v3.9.x/pr-3511
exceptions. (cherry picked from commit 3bce36b6674b1371bcc3596c9fa680d705b7ded4)
-rw-r--r--deps/rabbit/src/rabbit_auth_backend_internal.erl36
1 files changed, 18 insertions, 18 deletions
diff --git a/deps/rabbit/src/rabbit_auth_backend_internal.erl b/deps/rabbit/src/rabbit_auth_backend_internal.erl
index d94526270a..a46beaaf83 100644
--- a/deps/rabbit/src/rabbit_auth_backend_internal.erl
+++ b/deps/rabbit/src/rabbit_auth_backend_internal.erl
@@ -234,9 +234,9 @@ add_user_sans_validation(Username, Password, ActingUser) ->
throw:{error, {user_already_exists, _}} = Error ->
rabbit_log:warning("Failed to add user '~s': the user already exists", [Username]),
throw(Error);
- Class:Error ->
+ Class:Error:Stacktrace ->
rabbit_log:warning("Failed to add user '~s': ~p", [Username, Error]),
- erlang:Class(Error)
+ erlang:raise(Class, Error, Stacktrace)
end .
-spec delete_user(rabbit_types:username(), rabbit_types:username()) -> 'ok'.
@@ -272,9 +272,9 @@ delete_user(Username, ActingUser) ->
throw:{error, {no_such_user, _}} = Error ->
rabbit_log:warning("Failed to delete user '~s': the user does not exist", [Username]),
throw(Error);
- Class:Error ->
+ Class:Error:Stacktrace ->
rabbit_log:warning("Failed to delete user '~s': ~p", [Username, Error]),
- erlang:Class(Error)
+ erlang:raise(Class, Error, Stacktrace)
end .
-spec lookup_user
@@ -317,9 +317,9 @@ change_password_sans_validation(Username, Password, ActingUser) ->
throw:{error, {no_such_user, _}} = Error ->
rabbit_log:warning("Failed to change password for user '~s': the user does not exist", [Username]),
throw(Error);
- Class:Error ->
+ Class:Error:Stacktrace ->
rabbit_log:warning("Failed to change password for user '~s': ~p", [Username, Error]),
- erlang:Class(Error)
+ erlang:raise(Class, Error, Stacktrace)
end.
-spec clear_password(rabbit_types:username(), rabbit_types:username()) -> 'ok'.
@@ -368,9 +368,9 @@ set_tags(Username, Tags, ActingUser) ->
throw:{error, {no_such_user, _}} = Error ->
rabbit_log:warning("Failed to set tags for user '~s': the user does not exist", [Username]),
throw(Error);
- Class:Error ->
+ Class:Error:Stacktrace ->
rabbit_log:warning("Failed to set tags for user '~s': ~p", [Username, Error]),
- erlang:Class(Error)
+ erlang:raise(Class, Error, Stacktrace)
end .
-spec set_permissions
@@ -428,10 +428,10 @@ set_permissions(Username, VirtualHost, ConfigurePerm, WritePerm, ReadPerm, Actin
rabbit_log:warning("Failed to set permissions for '~s': the user does not exist",
[Username]),
throw(Error);
- Class:Error ->
+ Class:Error:Stacktrace ->
rabbit_log:warning("Failed to set permissions for '~s' in virtual host '~s': ~p",
[Username, VirtualHost, Error]),
- erlang:Class(Error)
+ erlang:raise(Class, Error, Stacktrace)
end.
-spec clear_permissions
@@ -464,10 +464,10 @@ clear_permissions(Username, VirtualHost, ActingUser) ->
rabbit_log:warning("Failed to clear permissions for '~s': the user does not exist",
[Username]),
throw(Error);
- Class:Error ->
+ Class:Error:Stacktrace ->
rabbit_log:warning("Failed to clear permissions for '~s' in virtual host '~s': ~p",
[Username, VirtualHost, Error]),
- erlang:Class(Error)
+ erlang:raise(Class, Error, Stacktrace)
end.
@@ -537,10 +537,10 @@ set_topic_permissions(Username, VirtualHost, Exchange, WritePerm, ReadPerm, Acti
rabbit_log:warning("Failed to set topic permissions on exchange '~s' for '~s': the user does not exist.",
[Exchange, Username]),
throw(Error);
- Class:Error ->
+ Class:Error:Stacktrace ->
rabbit_log:warning("Failed to set topic permissions on exchange '~s' for '~s' in virtual host '~s': ~p.",
[Exchange, Username, VirtualHost, Error]),
- erlang:Class(Error)
+ erlang:raise(Class, Error, Stacktrace)
end .
clear_topic_permissions(Username, VirtualHost, ActingUser) ->
@@ -572,10 +572,10 @@ clear_topic_permissions(Username, VirtualHost, ActingUser) ->
rabbit_log:warning("Failed to clear topic permissions for '~s': the user does not exist",
[Username]),
throw(Error);
- Class:Error ->
+ Class:Error:Stacktrace ->
rabbit_log:warning("Failed to clear topic permissions for '~s' in virtual host '~s': ~p",
[Username, VirtualHost, Error]),
- erlang:Class(Error)
+ erlang:raise(Class, Error, Stacktrace)
end.
clear_topic_permissions(Username, VirtualHost, Exchange, ActingUser) ->
@@ -609,10 +609,10 @@ clear_topic_permissions(Username, VirtualHost, Exchange, ActingUser) ->
rabbit_log:warning("Failed to clear topic permissions on exchange '~s' for '~s': the user does not exist",
[Exchange, Username]),
throw(Error);
- Class:Error ->
+ Class:Error:Stacktrace ->
rabbit_log:warning("Failed to clear topic permissions on exchange '~s' for '~s' in virtual host '~s': ~p",
[Exchange, Username, VirtualHost, Error]),
- erlang:Class(Error)
+ erlang:raise(Class, Error, Stacktrace)
end.
put_user(User, ActingUser) -> put_user(User, undefined, ActingUser).