You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2020/02/10 17:42:54 UTC
[hbase] branch branch-2 updated: HBASE-23824
TestSnapshotScannerHDFSAclController is flakey (#1157)
This is an automated email from the ASF dual-hosted git repository.
stack pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2 by this push:
new 50eaa02 HBASE-23824 TestSnapshotScannerHDFSAclController is flakey (#1157)
50eaa02 is described below
commit 50eaa0293ed3ba38cb4c9a7f69cf1a9a0a75670b
Author: meiyi <my...@gmail.com>
AuthorDate: Tue Feb 11 01:40:05 2020 +0800
HBASE-23824 TestSnapshotScannerHDFSAclController is flakey (#1157)
Signed-off-by: stack <st...@apache.org>
---
.../access/SnapshotScannerHDFSAclController.java | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/SnapshotScannerHDFSAclController.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/SnapshotScannerHDFSAclController.java
index 82e3430..5c4ba0d 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/SnapshotScannerHDFSAclController.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/SnapshotScannerHDFSAclController.java
@@ -222,9 +222,9 @@ public class SnapshotScannerHDFSAclController implements MasterCoprocessor, Mast
}
@Override
- public void postDeleteTable(ObserverContext<MasterCoprocessorEnvironment> ctx,
+ public void postCompletedDeleteTableAction(ObserverContext<MasterCoprocessorEnvironment> ctx,
TableName tableName) throws IOException {
- if (needHandleTableHdfsAcl(tableName, "deleteTable " + tableName)) {
+ if (!tableName.isSystemTable() && checkInitialized("deleteTable " + tableName)) {
/*
* Remove table user access HDFS acl from namespace directory if the user has no permissions
* of global, ns of the table or other tables of the ns, eg: Bob has 'ns1:t1' read permission,
@@ -235,14 +235,16 @@ public class SnapshotScannerHDFSAclController implements MasterCoprocessor, Mast
try (Table aclTable =
ctx.getEnvironment().getConnection().getTable(PermissionStorage.ACL_TABLE_NAME)) {
Set<String> users = SnapshotScannerHDFSAclStorage.getTableUsers(aclTable, tableName);
- // 1. Remove table archive directory default ACLs
- hdfsAclHelper.removeTableDefaultAcl(tableName, users);
- // 2. Delete table owner permission is synced to HDFS in acl table
- SnapshotScannerHDFSAclStorage.deleteTableHdfsAcl(aclTable, tableName);
- // 3. Remove namespace access acls
- Set<String> removeUsers = filterUsersToRemoveNsAccessAcl(aclTable, tableName, users);
- if (removeUsers.size() > 0) {
- hdfsAclHelper.removeNamespaceAccessAcl(tableName, removeUsers, "delete");
+ if (users.size() > 0) {
+ // 1. Remove table archive directory default ACLs
+ hdfsAclHelper.removeTableDefaultAcl(tableName, users);
+ // 2. Delete table owner permission is synced to HDFS in acl table
+ SnapshotScannerHDFSAclStorage.deleteTableHdfsAcl(aclTable, tableName);
+ // 3. Remove namespace access acls
+ Set<String> removeUsers = filterUsersToRemoveNsAccessAcl(aclTable, tableName, users);
+ if (removeUsers.size() > 0) {
+ hdfsAclHelper.removeNamespaceAccessAcl(tableName, removeUsers, "delete");
+ }
}
}
}