@Nullable @Override public Object execute() { ses.saveCheckpoint("checkpoint-key", "checkpoint-value"); return null; } }, node);
/** {@inheritDoc} */ @Override protected Collection<ComputeJobAdapter> split(int gridSize, Object arg) { for (int i = 0; i < SPLIT_COUNT; i++) { ses.saveCheckpoint("map:session:key:" + i, "map:session:testval:" + i); ses.saveCheckpoint("map:global:key:" + i, "map:global:testval:" + i, ComputeTaskSessionScope.GLOBAL_SCOPE, 0); } Collection<ComputeJobAdapter> jobs = new ArrayList<>(SPLIT_COUNT); for (int i = 0; i < SPLIT_COUNT; i++) { jobs.add(new ComputeJobAdapter(i) { /** */ private static final long serialVersionUID = -9118687978815477993L; /** {@inheritDoc} */ @Override public Serializable execute() { ses.saveCheckpoint("job:session:key:" + argument(0), "job:session:testval:" + argument(0)); ses.saveCheckpoint("job:global:key:" + argument(0), "job:global:testval:" + argument(0), ComputeTaskSessionScope.GLOBAL_SCOPE, 0); return 1; } }); } return jobs; }
/** {@inheritDoc} */ @Override public String execute() { assert taskSes != null; taskSes.saveCheckpoint("testCheckpoint", "TestState"); taskSes.removeCheckpoint("testCheckpoint"); return "GridAllEventsSuccessTestJob-test-event-success."; } }
String val3 = "test-checkpoint-value3"; taskSes.saveCheckpoint(key1, val1, GLOBAL_SCOPE, 0); taskSes.saveCheckpoint(key2, val2, SESSION_SCOPE, 0); taskSes.saveCheckpoint(key1, val2, GLOBAL_SCOPE, 0, false); taskSes.saveCheckpoint(key2, val1, SESSION_SCOPE, 0, false); taskSes.saveCheckpoint(key1, val2, GLOBAL_SCOPE, 0, true); taskSes.saveCheckpoint(key2, val1, SESSION_SCOPE, 0, true); taskSes.saveCheckpoint(key1, val1, GLOBAL_SCOPE, 0); taskSes.saveCheckpoint(key1, val1, GLOBAL_SCOPE, 5000); taskSes.saveCheckpoint(key2, val2, SESSION_SCOPE, 5000); taskSes.saveCheckpoint(key3, val3, SESSION_SCOPE, 0);
/** {@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."; } }
/** {@inheritDoc} */ @Override public Serializable execute() { ses.saveCheckpoint("job:session:key:" + argument(0), "job:session:testval:" + argument(0)); ses.saveCheckpoint("job:global:key:" + argument(0), "job:global:testval:" + argument(0), ComputeTaskSessionScope.GLOBAL_SCOPE, 0); return 1; } });
/** {@inheritDoc} */ @Override public Map<? extends ComputeJob, ClusterNode> map(List<ClusterNode> subgrid, UUID arg) { assert subgrid.size() == 2; assert taskSes != null; assert ignite != null; assert ignite.cluster().localNode().id().equals(arg); taskSes.saveCheckpoint("test", arg); // Always map job to the local node where it will fail. return Collections.singletonMap(new GridTestMultipleSpisJob(arg), ignite.cluster().localNode()); }
@Override public Object execute() { X.println("Executing ReduceTestTask job on node " + ignite.configuration().getNodeId()); ses.saveCheckpoint(CP_KEY, true); return null; } },
ses.saveCheckpoint("reduce:session:key:" + i, "reduce:session:testval:" + i); ses.saveCheckpoint("reduce:global:key:" + i, "reduce:global:testval:" + i, ComputeTaskSessionScope.GLOBAL_SCOPE, 0);
taskSes.saveCheckpoint(GLOBAL_KEY, GLOBAL_VAL, GLOBAL_SCOPE, 0); taskSes.saveCheckpoint(SES_KEY, SES_VAL, SESSION_SCOPE, 0); assert SES_VAL.equals(taskSes.loadCheckpoint(SES_KEY)); taskSes.saveCheckpoint(GLOBAL_KEY, SES_VAL + "-notoverwritten", GLOBAL_SCOPE, 0, false); taskSes.saveCheckpoint(SES_KEY, GLOBAL_VAL + "-notoverwritten", SESSION_SCOPE, 0, false); taskSes.saveCheckpoint(GLOBAL_KEY, SES_VAL_OVERWRITTEN, GLOBAL_SCOPE, 0, true); taskSes.saveCheckpoint(SES_KEY, GLOBAL_VAL_OVERWRITTEN, SESSION_SCOPE, 0, true);
@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; } },
/** {@inheritDoc} */ @Override public Map<? extends ComputeJob, ClusterNode> map(List<ClusterNode> subgrid, @Nullable Void arg) { assert ignite.cluster().nodes().size() == 2; ClusterNode rmt = F.first(ignite.cluster().forRemotes().nodes()); ses.saveCheckpoint(CP_KEY, true); return F.asMap( new ComputeJobAdapter() { /** Ignite instance. */ @IgniteInstanceResource private Ignite ignite; @TaskSessionResource private ComputeTaskSession ses; @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; } }, rmt ); }
fut.getTaskSession().saveCheckpoint("future:session:key", "future:session:testval"); fut.getTaskSession().saveCheckpoint("future:global:key", "future:global:testval", ComputeTaskSessionScope.GLOBAL_SCOPE, 0);