/** {@inheritDoc} */ @Override public Void reduce(List<ComputeJobResult> results) { assert ses.loadCheckpoint(CP_KEY) != null; return null; } }
@Override public void applyx() { assert taskSes.loadCheckpoint(key1) == null; assert taskSes.loadCheckpoint(key2) == null; } });
@Override public void applyx() { assert taskSes.loadCheckpoint(GLOBAL_KEY) == null; assert taskSes.loadCheckpoint(SES_KEY) == null; } });
@Override public void applyx() { assert taskSes.loadCheckpoint(key1) == null; assert taskSes.loadCheckpoint(key2) == null; } });
@Override public void applyx() { assert taskSes.loadCheckpoint(GLOBAL_KEY) == null; assert taskSes.loadCheckpoint(SES_KEY) == null; } });
@Override public void applyx() { assertEquals(SES_VAL_OVERWRITTEN, taskSes.loadCheckpoint(GLOBAL_KEY)); assertEquals(GLOBAL_VAL_OVERWRITTEN, taskSes.loadCheckpoint(SES_KEY)); } });
@Override public void applyx() { assert GLOBAL_VAL.equals(taskSes.loadCheckpoint(GLOBAL_KEY)); assert SES_VAL.equals(taskSes.loadCheckpoint(SES_KEY)); } });
@Override public void applyx() { assert val1.equals(taskSes.loadCheckpoint(key1)); assert val2.equals(taskSes.loadCheckpoint(key2)); } });
@Override public void applyx() { assert val1.equals(taskSes.loadCheckpoint(key1)); assert val2.equals(taskSes.loadCheckpoint(key2)); } });
@Override public void applyx() { assert val2.equals(taskSes.loadCheckpoint(key1)); assert val1.equals(taskSes.loadCheckpoint(key2)); } });
@Override public void applyx() { assert GLOBAL_VAL.equals(taskSes.loadCheckpoint(GLOBAL_KEY)); assert SES_VAL.equals(taskSes.loadCheckpoint(SES_KEY)); } });
/** {@inheritDoc} */ @Override public String execute() { assert taskSes != null; taskSes.saveCheckpoint("testAllCheckpoint", "CheckpointTestState"); taskSes.loadCheckpoint("testAllCheckpoint"); taskSes.removeCheckpoint("testAllCheckpoint"); return "GridAllCheckpointEventsSuccess-test-all-checkpoint-event-success."; } }
assert GLOBAL_VAL.equals(taskSes.loadCheckpoint(GLOBAL_KEY)); assert SES_VAL.equals(taskSes.loadCheckpoint(SES_KEY)); assert GLOBAL_VAL.equals(taskSes.loadCheckpoint(GLOBAL_KEY)); assert SES_VAL.equals(taskSes.loadCheckpoint(SES_KEY)); assert GLOBAL_VAL_OVERWRITTEN.equals(taskSes.loadCheckpoint(SES_KEY)); assert SES_VAL_OVERWRITTEN.equals(taskSes.loadCheckpoint(GLOBAL_KEY)); assert !taskSes.removeCheckpoint(SES_KEY); assert taskSes.loadCheckpoint(GLOBAL_KEY) == null; assert taskSes.loadCheckpoint(SES_KEY) == null;
assert GLOBAL_VAL.equals(taskSes.loadCheckpoint(GLOBAL_KEY)); assert SES_VAL.equals(taskSes.loadCheckpoint(SES_KEY)); assert GLOBAL_VAL.equals(taskSes.loadCheckpoint(GLOBAL_KEY)); assert SES_VAL.equals(taskSes.loadCheckpoint(SES_KEY)); assert SES_VAL_OVERWRITTEN.equals(taskSes.loadCheckpoint(GLOBAL_KEY)); assert GLOBAL_VAL_OVERWRITTEN.equals(taskSes.loadCheckpoint(SES_KEY));
/** {@inheritDoc} */ @Override public UUID execute() throws IgniteException { assert ignite != null; assert jobSes != null; assert argument(0) != null; // Should always fail on task originating node and work on another one. if (ignite.configuration().getNodeId().equals(argument(0))) throw new IgniteException("Expected exception to failover job."); // Use checkpoint on job side. This will happen on remote node. jobSes.loadCheckpoint("test"); return argument(0); } }
@Override public Object execute() { X.println("Executing FailoverTestTask job on node " + ignite.configuration().getNodeId()); Boolean cpVal = ses.loadCheckpoint(CP_KEY); assert cpVal != null; if (cpVal) { ses.saveCheckpoint(CP_KEY, false); throw new ComputeExecutionRejectedException("Failing over the job."); } return null; } },