[Fix](auth) fix revoke role operation cause fe down (#23852)

If there 3 above fe nodes,
the following opeartions will cause all FE nodes down.

DROP USER revoke_test_user
DROP ROLE revoke_test_role
DROP DATABASE IF EXISTS revoke_test_db
CREATE DATABASE revoke_test_db
CREATE ROLE revoke_test_role
CREATE USER revoke_test_user IDENTIFIED BY 'revoke_test_pwd'
GRANT SELECT_PRIV ON revoke_test_db.* TO ROLE 'revoke_test_role'
GRANT 'revoke_test_role' TO revoke_test_user
SHOW GRANTS FOR revoke_test_user
REVOKE 'revoke_test_role' from revoke_test_user
SHOW GRANTS FOR revoke_test_user
DROP USER revoke_test_user
DROP ROLE revoke_test_role
DROP DATABASE revoke_test_db
This commit is contained in:
Houliang Qi
2023-09-10 16:16:07 +08:00
committed by GitHub
parent 71645a391c
commit cae5a9d3cd
2 changed files with 50 additions and 1 deletions

View File

@ -711,7 +711,7 @@ public class Auth implements Writable {
revokeInternal(info.getUserIdent(), info.getRole(), info.getWorkloadGroupPattern(), info.getPrivs(),
true /* err on non exist */, true /* is replay */);
} else {
revokeInternal(info.getUserIdent(), info.getRoles(), false);
revokeInternal(info.getUserIdent(), info.getRoles(), true /* is replay */);
}
} catch (DdlException e) {
LOG.error("should not happened", e);