diff --git hbase-server/src/test/java/org/apache/hadoop/hbase/util/LoadTestTool.java hbase-server/src/test/java/org/apache/hadoop/hbase/util/LoadTestTool.java index a43af55..a156fa2 100644 --- hbase-server/src/test/java/org/apache/hadoop/hbase/util/LoadTestTool.java +++ hbase-server/src/test/java/org/apache/hadoop/hbase/util/LoadTestTool.java @@ -42,7 +42,6 @@ import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.PerformanceEvaluation; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.HBaseAdmin; -import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.io.compress.Compression; import org.apache.hadoop.hbase.io.crypto.Cipher; import org.apache.hadoop.hbase.io.crypto.Encryption; @@ -517,20 +516,37 @@ public class LoadTestTool extends AbstractHBaseTool { if (userOwner != null) { LOG.info("Granting permission for the user " + userOwner.getShortName()); - HTable table = new HTable(conf, tableName); AccessControlProtos.Permission.Action[] actions = { - AccessControlProtos.Permission.Action.ADMIN, - AccessControlProtos.Permission.Action.CREATE, AccessControlProtos.Permission.Action.READ, - AccessControlProtos.Permission.Action.WRITE }; + AccessControlProtos.Permission.Action.ADMIN, AccessControlProtos.Permission.Action.CREATE, + AccessControlProtos.Permission.Action.READ, AccessControlProtos.Permission.Action.WRITE }; try { - AccessControlClient.grant(conf, table.getName(), userOwner.getShortName(), COLUMN_FAMILY, - null, actions); + AccessControlClient.grant(conf, tableName, userOwner.getShortName(), null, null, actions); } catch (Throwable e) { LOG.fatal("Error in granting permission for the user " + userOwner.getShortName(), e); return EXIT_FAILURE; } } + if (userNames != null) { + // This will be comma separated list of expressions. + String users[] = userNames.split(","); + User user = null; + for (String userStr : users) { + if (isSecure(conf)) { + user = User.create(loginAndReturnUGI(conf, userStr)); + } else { + user = User.createUserForTesting(conf, userStr, new String[0]); + } + LOG.info("Granting READ permission for the user " + user.getShortName()); + AccessControlProtos.Permission.Action[] actions = { AccessControlProtos.Permission.Action.READ }; + try { + AccessControlClient.grant(conf, tableName, user.getShortName(), null, null, actions); + } catch (Throwable e) { + LOG.fatal("Error in granting READ permission for the user " + user.getShortName(), e); + return EXIT_FAILURE; + } + } + } if (isWrite) { if (userOwner != null) {