in src/main/java/org/apache/accumulo/testing/randomwalk/concurrent/Config.java [97:159]
public void visit(State state, RandWalkEnv env, Properties props) throws Exception {
// reset any previous setting
Object lastSetting = state.getOkIfAbsent(LAST_SETTING);
if (lastSetting != null) {
int choice = Integer.parseInt(lastSetting.toString());
Property property = settings[choice].property;
log.debug("Setting " + property.getKey() + " back to " + property.getDefaultValue());
env.getAccumuloClient().instanceOperations().setProperty(property.getKey(),
property.getDefaultValue());
}
lastSetting = state.getOkIfAbsent(LAST_TABLE_SETTING);
if (lastSetting != null) {
String[] parts = lastSetting.toString().split(",");
String table = parts[0];
int choice = Integer.parseInt(parts[1]);
Property property = tableSettings[choice].property;
if (env.getAccumuloClient().tableOperations().exists(table)) {
log.debug("Setting " + property.getKey() + " on " + table + " back to "
+ property.getDefaultValue());
try {
env.getAccumuloClient().tableOperations().setProperty(table, property.getKey(),
property.getDefaultValue());
} catch (AccumuloException ex) {
if (ex.getCause() instanceof TableNotFoundException) {
return;
}
throw ex;
}
}
}
lastSetting = state.getOkIfAbsent(LAST_NAMESPACE_SETTING);
if (lastSetting != null) {
String[] parts = lastSetting.toString().split(",");
String namespace = parts[0];
int choice = Integer.parseInt(parts[1]);
Property property = tableSettings[choice].property;
if (env.getAccumuloClient().namespaceOperations().exists(namespace)) {
log.debug("Setting " + property.getKey() + " on " + namespace + " back to "
+ property.getDefaultValue());
try {
env.getAccumuloClient().namespaceOperations().setProperty(namespace, property.getKey(),
property.getDefaultValue());
} catch (AccumuloException ex) {
if (ex.getCause() instanceof NamespaceNotFoundException) {
return;
}
throw ex;
}
}
}
state.remove(LAST_SETTING);
state.remove(LAST_TABLE_SETTING);
state.remove(LAST_NAMESPACE_SETTING);
RandomDataGenerator random = new RandomDataGenerator();
int dice = random.nextInt(0, 2);
if (dice == 0) {
changeTableSetting(random, state, env, props);
} else if (dice == 1) {
changeNamespaceSetting(random, state, env, props);
} else {
changeSetting(random, state, env, props);
}
}