alex-plekhanov commented on code in PR #12925:
URL: https://github.com/apache/ignite/pull/12925#discussion_r3459938517
##########
modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxCacheWriteSynchronizationModesMultithreadedTest.java:
##########
@@ -93,6 +97,20 @@ public class
IgniteTxCacheWriteSynchronizationModesMultithreadedTest extends Gri
assertTrue(grid(SRVS + i).configuration().isClientMode());
}
+ /** {@inheritDoc} */
+ @Override protected void afterTest() throws Exception {
+ for (Ignite node : G.allGrids()) {
+ IgniteTxManager tm =
((IgniteEx)node).context().cache().context().tm();
+
+ ConcurrentMap<GridCacheVersion, Object> uncommited =
Review Comment:
There is no such field. Test show in log `java.lang.NoSuchFieldException:
uncommitedSalvageTx` but this exception is ignored.
##########
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java:
##########
@@ -687,6 +687,40 @@ void onResult(Throwable e) {
onDone(e);
}
+ /** */
+ private void onNodeLeft(UUID nodeId) {
+ // Cause in common case #onNodeLeft() completes with no error it`s
necessary to send salvage message.
+ if (tx.storeWriteThrough()) {
+ Map<UUID, Collection<UUID>> txNodes = tx.transactionNodes();
+
+ if (txNodes != null) {
+ Collection<UUID> backups = txNodes.get(nodeId);
+
+ if (!F.isEmpty(backups)) {
+ GridDhtTxSalvageMessage salvageReq = null;
+
+ for (UUID backupId : backups) {
+ ClusterNode backup =
cctx.discovery().node(backupId);
+
+ if (backup != null && !backup.isLocal()) {
Review Comment:
Do we need to skip also coordinator node?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]