// it can be used for global ordering since it is a valid txnid from an initiator
else if (info instanceof MultiPartitionParticipantMessage) {
}
// Every non-heartbeat notice requires a transaction state.
TransactionState ts = m_transactionsById.get(info.getTxnId());
if (ts != null)
{
if (message instanceof FragmentTaskMessage) {
ts.createLocalFragmentWork((FragmentTaskMessage)message, false);
}
}
} else if (message instanceof RecoveryMessage) {
final RecoveryMessage rm = (RecoveryMessage)message;
if (rm.recoveryMessagesAvailable()) {
return;
}
assert(!m_rejoining);
/*
* Recovery site processor hasn't been cleaned up from the previous
* rejoin. New rejoin request cannot be processed now. Telling the
* rejoining site to retry later.
*/
if (m_rejoinSnapshotProcessor != null) {
m_rejoinLog.error("ExecutionSite is not ready to handle " +
"recovery request from site " +
CoreUtils.hsIdToString(rm.sourceSite()));
RecoveryMessage recoveryResponse = new RecoveryMessage(false);
m_mailbox.send(rm.sourceSite(), recoveryResponse);
return;
}
final long recoveringPartitionTxnId = rm.txnId();
m_rejoinLog.info(
"Recovery initiate received at site " + CoreUtils.hsIdToString(m_siteId) +
" from site " + CoreUtils.hsIdToString(rm.sourceSite()) + " requesting recovery start before txnid " +
recoveringPartitionTxnId);
}
else if (message instanceof RejoinMessage) {
RejoinMessage rm = (RejoinMessage) message;
handleRejoinMessage(rm);
}
else if (message instanceof CheckTxnStateCompletionMessage) {
long txn_id = ((CheckTxnStateCompletionMessage)message).m_txnId;
TransactionState txnState = m_transactionsById.get(txn_id);
if (txnState != null)
{
}
}
else if (message instanceof ExecutionSiteLocalSnapshotMessage) {