}
if (!isSkipInit) {
initTestTable();
}
LoadTestDataGenerator dataGen = null;
if (cmd.hasOption(OPT_GENERATOR)) {
String[] clazzAndArgs = cmd.getOptionValue(OPT_GENERATOR).split(COLON);
dataGen = getLoadGeneratorInstance(clazzAndArgs[0]);
String[] args;
if (dataGen instanceof LoadTestDataGeneratorWithACL) {
LOG.info("Using LoadTestDataGeneratorWithACL");
if (User.isHBaseSecurityEnabled(conf)) {
LOG.info("Security is enabled");
authnFileName = clazzAndArgs[1];
superUser = clazzAndArgs[2];
userNames = clazzAndArgs[3];
args = Arrays.copyOfRange(clazzAndArgs, 2, clazzAndArgs.length);
Properties authConfig = new Properties();
authConfig.load(this.getClass().getClassLoader().getResourceAsStream(authnFileName));
try {
addAuthInfoToConf(authConfig, conf, superUser, userNames);
} catch (IOException exp) {
LOG.error(exp);
return EXIT_FAILURE;
}
userOwner = User.create(loginAndReturnUGI(conf, superUser));
} else {
superUser = clazzAndArgs[1];
userNames = clazzAndArgs[2];
args = Arrays.copyOfRange(clazzAndArgs, 1, clazzAndArgs.length);
userOwner = User.createUserForTesting(conf, superUser, new String[0]);
}
} else {
args = clazzAndArgs.length == 1 ? new String[0] : Arrays.copyOfRange(clazzAndArgs, 1,
clazzAndArgs.length);
}
dataGen.initialize(args);
} else {
// Default DataGenerator is MultiThreadedAction.DefaultDataGenerator
dataGen = new MultiThreadedAction.DefaultDataGenerator(minColDataSize, maxColDataSize,
minColsPerKey, maxColsPerKey, COLUMN_FAMILY);
}