-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HBASE-27469 IllegalArgumentException is thrown by SnapshotScannerHDFS… #4865
Conversation
💔 -1 overall
This message was automatically generated. |
@@ -132,8 +132,7 @@ public void preMasterInitialization(ObserverContext<MasterCoprocessorEnvironment | |||
userProvider = UserProvider.instantiate(c.getEnvironment().getConfiguration()); | |||
} else { | |||
LOG.warn("Try to initialize the coprocessor SnapshotScannerHDFSAclController but failure " | |||
+ "because the config " + SnapshotScannerHDFSAclHelper.ACL_SYNC_TO_HDFS_ENABLE | |||
+ " is false."); | |||
+ "because the config {} is false.", SnapshotScannerHDFSAclHelper.ACL_SYNC_TO_HDFS_ENABLE); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since SnapshotScannerHDFSAclHelper.ACL_SYNC_TO_HDFS_ENABLE is a constant, I think the old way can have better performance?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK.
@@ -610,7 +609,8 @@ private Set<String> filterUsersToRemoveNsAccessAcl(Table aclTable, TableName tab | |||
PermissionStorage.isGlobalEntry(entry) | |||
|| (PermissionStorage.isNamespaceEntry(entry) | |||
&& Bytes.equals(PermissionStorage.fromNamespaceEntry(entry), namespace)) | |||
|| (!Bytes.equals(tableName.getName(), entry) | |||
|| (PermissionStorage.isTableEntry(entry) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So this is the problem we want to fix? Mind explaining more?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this is the problem.
The userEntries
from hbase:acl contains namespaces (beginning with '@' like '@ns1') and tables, before we call TableName.valueOf(entry)
, must make sure it is a table name and not a namespace name. If a namespace name goes there, TableName.valueOf(entry)
will throw IllegalArgumentException since char '@'.
💔 -1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
…AclController when dropping a table
🎊 +1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
The failed UT TestReplicationKillMasterRSWithSeparateOldWALs is not related. It seems like a bug, I'll try to fix it in HBASE-27476. |
🎊 +1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
…AclController when dropping a table (#4865) Signed-off-by: Duo Zhang <[email protected]>
…AclController when dropping a table (#4865) Signed-off-by: Duo Zhang <[email protected]>
…AclController when dropping a table (#4865) Signed-off-by: Duo Zhang <[email protected]>
…AclController when dropping a table (apache#4865) Signed-off-by: Duo Zhang <[email protected]> (cherry picked from commit f7b2efc) Change-Id: I345b022035b43d5486b9eb513247134930f3a82e
…AclController when dropping a table