final String jobId = "0000000-" + new Date().getTime() + "-testCoordRerun-C";
final int actionNum1 = 1;
final int actionNum2 = 2;
final String actionId1 = jobId + "@" + actionNum1;
final String actionId2 = jobId + "@" + actionNum2;
CoordinatorStore store = Services.get().get(StoreService.class).getStore(CoordinatorStore.class);
store.beginTrx();
try {
addRecordToJobTable(jobId, store, CoordinatorJob.Status.SUCCEEDED);
addRecordToActionTable(jobId, actionNum1, actionId1, store, CoordinatorAction.Status.SUCCEEDED,
"coord-rerun-action1.xml");
addRecordToActionTable(jobId, actionNum2, actionId2, store, CoordinatorAction.Status.SUCCEEDED,
"coord-rerun-action2.xml");
store.commitTrx();
}
catch (Exception e) {
e.printStackTrace();
fail("Could not update db.");
}
finally {
store.closeTrx();
}
String rerunScope = Integer.toString(actionNum1) + "," + Integer.toString(actionNum2);
final OozieClient coordClient = LocalOozie.getCoordClient();
coordClient.reRunCoord(jobId, RestConstants.JOB_COORD_RERUN_ACTION, rerunScope, false, true);
CoordinatorStore store1 = Services.get().get(StoreService.class).getStore(CoordinatorStore.class);
store1.beginTrx();
CoordinatorActionBean action1 = store1.getCoordinatorAction(actionId1, false);
assertNotSame(action1.getStatus(), CoordinatorAction.Status.SUCCEEDED);
CoordinatorActionBean action2 = store1.getCoordinatorAction(actionId2, false);
assertNotSame(action2.getStatus(), CoordinatorAction.Status.SUCCEEDED);
store1.commitTrx();
store1.closeTrx();
}