in src/main/java/org/apache/accumulo/testing/randomwalk/image/ImageFixture.java [46:93]
public void setUp(State state, RandWalkEnv env) throws Exception {
AccumuloClient client = env.getAccumuloClient();
SortedSet<Text> splits = IntStream.range(1, 256).mapToObj(i -> String.format("%04x", i << 8))
.map(Text::new).collect(Collectors.toCollection(TreeSet::new));
String hostname = InetAddress.getLocalHost().getHostName().replaceAll("[-.]", "_");
String pid = env.getPid();
imageTableName = String.format("img_%s_%s_%d", hostname, pid, System.currentTimeMillis());
state.set("imageTableName", imageTableName);
indexTableName = String.format("img_ndx_%s_%s_%d", hostname, pid, System.currentTimeMillis());
state.set("indexTableName", indexTableName);
try {
client.tableOperations().create(imageTableName,
new NewTableConfiguration().withSplits(splits));
log.debug("Created table " + imageTableName + " (id:"
+ client.tableOperations().tableIdMap().get(imageTableName) + ")");
} catch (TableExistsException e) {
log.error("Table " + imageTableName + " already exists.");
throw e;
}
try {
client.tableOperations().create(indexTableName);
log.debug("Created table " + indexTableName + " (id:"
+ client.tableOperations().tableIdMap().get(indexTableName) + ")");
} catch (TableExistsException e) {
log.error("Table " + imageTableName + " already exists.");
throw e;
}
if (env.getRandom().nextInt(10) < 5) {
// setup locality groups
Map<String,Set<Text>> groups = getLocalityGroups();
client.tableOperations().setLocalityGroups(imageTableName, groups);
log.debug("Configured locality groups for " + imageTableName + " groups = " + groups);
}
state.set("numWrites", 0L);
state.set("totalWrites", 0L);
state.set("verified", 0);
state.set("lastIndexRow", new Text(""));
}