use of org.apache.hadoop.hbase.ScheduledChore in project hbase by apache.
the class ChaosService method main.
public static void main(String[] args) throws Exception {
Configuration conf = HBaseConfiguration.create();
new GenericOptionsParser(conf, args);
ChoreService choreChaosService = null;
ScheduledChore authChore = AuthUtil.getAuthChore(conf);
try {
if (authChore != null) {
choreChaosService = new ChoreService(ChaosConstants.CHORE_SERVICE_PREFIX);
choreChaosService.scheduleChore(authChore);
}
execute(args, conf);
} finally {
if (authChore != null)
choreChaosService.shutdown();
}
}
use of org.apache.hadoop.hbase.ScheduledChore in project hbase by apache.
the class TestServerNonceManager method testWalNonces.
@Test
public void testWalNonces() throws Exception {
ManualEnvironmentEdge edge = new ManualEnvironmentEdge();
EnvironmentEdgeManager.injectEdge(edge);
try {
ServerNonceManager nm = createManager(6);
ScheduledChore cleanup = nm.createCleanupScheduledChore(Mockito.mock(Stoppable.class));
// Add nonces from WAL, including dups.
edge.setValue(12);
nm.reportOperationFromWal(NO_NONCE, 1, 8);
nm.reportOperationFromWal(NO_NONCE, 2, 2);
nm.reportOperationFromWal(NO_NONCE, 3, 5);
nm.reportOperationFromWal(NO_NONCE, 3, 6);
// WAL nonces should prevent cross-server conflicts.
assertFalse(nm.startOperation(NO_NONCE, 1, createStoppable()));
// Make sure we ignore very old nonces, but not borderline old nonces.
assertTrue(nm.startOperation(NO_NONCE, 2, createStoppable()));
assertFalse(nm.startOperation(NO_NONCE, 3, createStoppable()));
// Make sure grace period is counted from recovery time.
edge.setValue(17);
cleanup.choreForTesting();
assertFalse(nm.startOperation(NO_NONCE, 1, createStoppable()));
assertFalse(nm.startOperation(NO_NONCE, 3, createStoppable()));
edge.setValue(19);
cleanup.choreForTesting();
assertTrue(nm.startOperation(NO_NONCE, 1, createStoppable()));
assertTrue(nm.startOperation(NO_NONCE, 3, createStoppable()));
} finally {
EnvironmentEdgeManager.reset();
}
}
Aggregations