// Handle every-site system procedures (at the MPI)
final Config sysprocConfig = SystemProcedureCatalog.listing.get(procedureName);
if (sysprocConfig != null && sysprocConfig.getEverysite()) {
// Send an SP initiate task to all remote sites
final Long localId = m_mailbox.getHSId();
Iv2InitiateTaskMessage sp = new Iv2InitiateTaskMessage(
localId, // make the MPI the initiator.
message.getCoordinatorHSId(),
m_repairLogTruncationHandle,
mpTxnId,
timestamp,
message.isReadOnly(),
true, // isSinglePartition
message.getStoredProcedureInvocation(),
message.getClientInterfaceHandle(),
message.getConnectionId(),
message.isForReplay());
DuplicateCounter counter = new DuplicateCounter(
message.getInitiatorHSId(),
mpTxnId,
m_iv2Masters, message.getStoredProcedureName());
m_duplicateCounters.put(mpTxnId, counter);
EveryPartitionTask eptask =
new EveryPartitionTask(m_mailbox, m_pendingTasks, sp,
m_iv2Masters);
m_pendingTasks.offer(eptask);
return;
}
// Create a copy so we can overwrite the txnID so the InitiateResponse will be
// correctly tracked.
Iv2InitiateTaskMessage mp =
new Iv2InitiateTaskMessage(
message.getInitiatorHSId(),
message.getCoordinatorHSId(),
m_repairLogTruncationHandle,
mpTxnId,
timestamp,