txn_id, i, fds.buffer()));
try {
parameterSets[i] = fds.readObject(ParameterSet.class);
} catch (Exception ex) {
String msg = String.format("Failed to deserialize ParameterSet[%d] for txn #%d TransactionRequest", i, txn_id);
throw new ServerFaultException(msg, ex, txn_id);
}
// LOG.info("PARAMETER[" + i + "]: " + parameterSets[i]);
} else {
parameterSets[i] = ParameterSet.EMPTY;
}
} // FOR
ts.attachParameterSets(parameterSets);
// Deserialize attached VoltTable input dependencies
FastDeserializer fds = null;
VoltTable vt = null;
for (int i = 0, cnt = request.getAttachedDataCount(); i < cnt; i++) {
int input_dep_id = request.getAttachedDepId(i);
ByteString data = request.getAttachedData(i);
if (data.isEmpty()) {
String msg = String.format("%s input dependency %d is empty", ts, input_dep_id);
LOG.warn(msg + "\n" + request);
throw new ServerFaultException(msg, txn_id);
}
if (fds == null) fds = new FastDeserializer(data.asReadOnlyByteBuffer());
else fds.setBuffer(data.asReadOnlyByteBuffer());
vt = null;
try {
vt = fds.readObject(VoltTable.class);
} catch (Exception ex) {
String msg = String.format("Failed to deserialize VoltTable[%d] for txn #%d", input_dep_id, txn_id);
throw new ServerFaultException(msg, ex, txn_id);
}
assert(vt != null);
ts.attachInputDependency(input_dep_id, vt);
} // FOR