You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sa...@apache.org on 2022/05/17 15:53:02 UTC
[ignite-3] branch main updated: IGNITE-16718 ItIgniteNodeRestartTest#testCfgGap is flaky (#810)
This is an automated email from the ASF dual-hosted git repository.
sanpwc pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new c508162db IGNITE-16718 ItIgniteNodeRestartTest#testCfgGap is flaky (#810)
c508162db is described below
commit c508162db66e60e4c4dc7a4a19695b29f4deb799
Author: Alexander Lapin <la...@gmail.com>
AuthorDate: Tue May 17 18:52:58 2022 +0300
IGNITE-16718 ItIgniteNodeRestartTest#testCfgGap is flaky (#810)
---
.../ignite/internal/runner/app/ItIgniteNodeRestartTest.java | 13 ++++++++++---
.../org/apache/ignite/internal/tx/impl/TransactionImpl.java | 11 ++++++++++-
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
index 49ec18799..829a197f4 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
@@ -898,12 +898,17 @@ public class ItIgniteNodeRestartTest extends IgniteAbstractTest {
* @param testInfo Test info.
*/
@Test
- @Disabled("IGNITE-16718")
public void testCfgGap(TestInfo testInfo) {
final int nodes = 4;
+ String nodeFinderConfig = IntStream.range(0, nodes)
+ .mapToObj(i -> "\"localhost:" + (DEFAULT_NODE_PORT + i) + "\"")
+ .collect(joining(",", "[", "]"));
+
for (int i = 0; i < nodes; i++) {
- startNode(testInfo, i);
+ String cfg = IgniteStringFormatter.format(NODE_BOOTSTRAP_CFG, DEFAULT_NODE_PORT + i, nodeFinderConfig);
+
+ startNode(testInfo, i, null, null, cfg);
}
createTableWithData(CLUSTER_NODES.get(0), "t1", nodes);
@@ -920,7 +925,9 @@ public class ItIgniteNodeRestartTest extends IgniteAbstractTest {
log.info("Starting the node.");
- Ignite newNode = startNode(nodes - 1, igniteName, null, workDir);
+ String nodeCfg = IgniteStringFormatter.format(NODE_BOOTSTRAP_CFG, DEFAULT_NODE_PORT + nodes - 1, nodeFinderConfig);
+
+ startNode(nodes - 1, igniteName, nodeCfg, workDir);
checkTableWithData(CLUSTER_NODES.get(0), "t1");
checkTableWithData(CLUSTER_NODES.get(0), "t2");
diff --git a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TransactionImpl.java b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TransactionImpl.java
index dba006b1c..14b5c4713 100644
--- a/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TransactionImpl.java
+++ b/modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TransactionImpl.java
@@ -31,6 +31,7 @@ import org.apache.ignite.internal.tx.TxManager;
import org.apache.ignite.internal.tx.TxState;
import org.apache.ignite.lang.IgniteLogger;
import org.apache.ignite.network.NetworkAddress;
+import org.apache.ignite.raft.client.Peer;
import org.apache.ignite.raft.client.service.RaftGroupService;
import org.apache.ignite.tx.TransactionException;
import org.jetbrains.annotations.NotNull;
@@ -169,8 +170,16 @@ public class TransactionImpl implements InternalTransaction {
address, commit, timestamp, local, entry.getValue());
}
+ Set<NetworkAddress> allEnlistedNodes = new HashSet<>();
+
+ for (RaftGroupService svc : enlisted) {
+ for (Peer peer : svc.peers()) {
+ allEnlistedNodes.add(peer.address());
+ }
+ }
+
// Handle coordinator's tx.
- futs[i] = tmp.containsKey(address) ? CompletableFuture.completedFuture(null) :
+ futs[i] = allEnlistedNodes.contains(address) ? CompletableFuture.completedFuture(null) :
commit ? txManager.commitAsync(timestamp) : txManager.rollbackAsync(timestamp);
return CompletableFuture.allOf(futs);