// store resume dependencies in the MpTestPlan for later.
plan.depsToResume = depsToResumeList;
// generate remote task with output IDs, fill in lists appropriately
plan.remoteWork = new FragmentTaskMessage(Long.MIN_VALUE, // try not to care?
Long.MIN_VALUE, // try not to care?
Long.MIN_VALUE, // try not to care?
1234l, // magic, change if it matters
readOnly,
false, false); // IV2 doesn't use final task (yet)
for (int i = 0; i < distributedOutputDepIds.size(); i++) {
plan.remoteWork.addFragment(VoltSystemProcedure.fragIdToHash(Long.MIN_VALUE),
distributedOutputDepIds.get(i), createDummyParameterSet());
}
System.out.println("REMOTE TASK: " + plan.remoteWork.toString());
if (!single_frag) {
// generate a remote fragment response for each remote message
for (int i = 0; i < remoteHSIds.length; i++) {
FragmentResponseMessage resp =
new FragmentResponseMessage(plan.remoteWork, remoteHSIds[i]);
if (rollback && i == (remoteHSIds.length - 1)) {
resp.setStatus(FragmentResponseMessage.UNEXPECTED_ERROR,
new EEException(1234));
}
else {
resp.setStatus(FragmentResponseMessage.SUCCESS, null);
for (int j = 0; j < distributedOutputDepIds.size(); j++) {
resp.addDependency(distributedOutputDepIds.get(j),
new VoltTable(new VoltTable.ColumnInfo("BOGO",
VoltType.BIGINT)));
}
}
System.out.println("RESPONSE: " + resp);
plan.generatedResponses.add(resp);
}
}
// generate local task with new output IDs, use above outputs as inputs, if any
plan.localWork = new FragmentTaskMessage(Long.MIN_VALUE, // try not to care
Long.MIN_VALUE,
Long.MIN_VALUE,
1234l,
readOnly,
false,