Skip to content

Commit 0585650

Browse files
committed
no break + event
1 parent fb9de7f commit 0585650

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1354,7 +1354,6 @@ private void processDhtTxSalvageRequest(GridDhtTxSalvageMessage req) {
13541354
// GridDhtTxLocal possible
13551355
if (active instanceof GridDhtTxRemote) {
13561356
ctx.tm().salvageTx(active);
1357-
break;
13581357
}
13591358
}
13601359
}

modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3140,6 +3140,7 @@ private TxRecoveryInitRunnable(ClusterNode node) {
31403140

31413141
for (final IgniteInternalTx tx : activeTransactions()) {
31423142
Map<UUID, Collection<UUID>> txNodes = tx.transactionNodes();
3143+
boolean localInMaster = tx.masterNodeIds().contains(cctx.localNodeId());
31433144

31443145
if (tx.storeWriteThrough() && txNodes != null
31453146
&& tx.near() && txNodes.containsKey(evtNodeId)
@@ -3149,7 +3150,11 @@ private TxRecoveryInitRunnable(ClusterNode node) {
31493150
sendTxSalvage(tx, evtNodeId);
31503151
}
31513152

3152-
if (tx.storeWriteThrough() && !tx.masterNodeIds().contains(cctx.localNodeId())
3153+
if (tx.storeWriteThrough() && tx.masterNodeIds().contains(evtNodeId)) {
3154+
if (localInMaster || tx.eventNodeId().equals(evtNodeId))
3155+
salvageTx(tx, RECOVERY_FINISH);
3156+
}
3157+
else if (tx.storeWriteThrough() && !localInMaster
31533158
&& tx.nodeId().equals(evtNodeId) && tx.state() == PREPARED) {
31543159
boolean fullSyncedOp = tx.writeEntries().stream().map(e ->
31553160
cctx.cacheContext(e.cacheId())).allMatch(GridCacheContext::syncCommit);

0 commit comments

Comments
 (0)