logger.log(logger.INFO, "Received transaction inquiry "+cii.toString()+ " from "+from);
}
TransactionUID tid = new TransactionUID(cii.getTransactionID().longValue());
BrokerAddress txnHomeBroker = cii.getTransactionHome();
TransactionBroker thb = null;
if (txnHomeBroker != null) {
thb = new TransactionBroker(txnHomeBroker);
}
TransactionList translist = Globals.getTransactionList();
TransactionState ts = translist.retrieveState(tid, true);
if (ts == null && DEBUG_CLUSTER_TXN) {
logger.log(logger.INFO, "Transaction "+ tid+ " not found in local transaction");
}
if (ts != null) {
BrokerAddress currba = (thb == null ? null:thb.getCurrentBrokerAddress());
if (currba != null && !currba.equals(Globals.getMyAddress())) {
logger.log(logger.WARNING,
"Incorrect transaction home broker info:"+txnHomeBroker+" from "+from + " TID="+tid);
}
sendClusterTransactionInfo(tid, from, cii.getXid());
return;
}
if (ts == null && thb != null) {
BrokerAddress currba = thb.getCurrentBrokerAddress();
if (currba != null && Globals.getMyAddress().equals(currba)) {
sendClusterTransactionInfo(tid, from, cii.getXid());
return;
}
}