+ m_procName + "\n"
+ result.toString()));
}
if (callerParams != null) {
ClientResponseImpl cr = null;
ProcedureRunner runner = siteConnection.getProcedureRunner(m_procName);
if (runner == null) {
String error =
"Procedure " + m_procName + " is not present in the catalog. " +
"This can happen if a catalog update removing the procedure occurred " +
"after the procedure was submitted " +
"but before the procedure was executed.";
RateLimitedLogger.tryLogForMessage(
System.currentTimeMillis(),
60, TimeUnit.SECONDS,
hostLog,
Level.WARN, error + " %s", "This log message is rate limited to once every 60 seconds.");
response.setResults(
new ClientResponseImpl(
ClientResponse.UNEXPECTED_FAILURE,
new VoltTable[]{},
error));
return response;
}
// Check partitioning of single-partition and n-partition transactions.
if (runner.checkPartition(m_txnState, siteConnection.getCurrentHashinator())) {
runner.setupTransaction(m_txnState);
cr = runner.call(callerParams);
m_txnState.setHash(cr.getHash());
//Don't pay the cost of returning the result tables for a replicated write
//With reads don't apply the optimization just in case
// if (!task.shouldReturnResultTables() && !task.isReadOnly()) {