[ignite-3] 02/02: IGNITE-19996 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky (#2337)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit a8a37e694a1453e2989975470b505aa32c9f132e Author: Semyon Danilov AuthorDate: Fri Jul 21 14:23:21 2023 +0400 IGNITE-19996 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky (#2337) --- .../internal/network/netty/ConnectionManager.java | 4 +++- .../org/apache/ignite/raft/jraft/core/ItNodeTest.java | 17 - 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java b/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java index 11988c6b4c..2a77bfe720 100644 --- a/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java +++ b/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java @@ -268,7 +268,9 @@ public class ConnectionManager implements ChannelCreationListener { ConnectorKey key = new ConnectorKey<>(channel.consistentId(), getChannel(channel.channelId())); NettySender oldChannel = channels.put(key, channel); -assert oldChannel == null : "Incorrect channel creation flow"; +// Old channel can still be in the map, but it must be closed already by the tie breaker in the +// handshake manager. +assert oldChannel == null || !oldChannel.isOpen() : "Incorrect channel creation flow"; } /** diff --git a/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java b/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java index 66e6bd1a6e..d8bf0aa892 100644 --- a/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java +++ b/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java @@ -2927,11 +2927,16 @@ public class ItNodeTest { List peers = new ArrayList<>(); peers.add(peer0); -for (int i = 1; i < 10; i++) { +int numPeers = 10; + +for (int i = 1; i < numPeers; i++) { TestPeer peer = new TestPeer(testInfo, TestUtils.INIT_PORT + i); peers.add(peer); assertTrue(cluster.start(peer, false, 300)); } + +waitForTopologyOnEveryNode(numPeers); + for (int i = 0; i < 9; i++) { leader = cluster.waitAndGetLeader(); assertNotNull(leader); @@ -3023,6 +3028,10 @@ public class ItNodeTest { verify(raftGrpEvtsLsnr, never()).onNewPeersConfigurationApplied(any(), any()); +// Wait until every node sees every other node, otherwise +// changePeersAsync can fail. +waitForTopologyOnEveryNode(numPeers); + for (int i = 0; i < 4; i++) { leader = cluster.getLeader(); assertNotNull(leader); @@ -3967,6 +3976,12 @@ public class ItNodeTest { } } +private void waitForTopologyOnEveryNode(int count) { +cluster.getAllNodes().forEach(peerId -> { +assertTrue(waitForTopology(cluster, peerId, count, TimeUnit.SECONDS.toMillis(10))); +}); +} + private static TestPeer findById(Collection peers, PeerId id) { return peers.stream().filter(t -> t.getPeerId().equals(id)).findAny().orElseThrow(); }
[ignite-3] branch main updated (b687c3b0b8 -> a8a37e694a)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/ignite-3.git from b687c3b0b8 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky (#2337) new 86290418a7 Revert "Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky (#2337)" new a8a37e694a IGNITE-19996 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky (#2337) The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes:
[ignite-3] 01/02: Revert "Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky (#2337)"
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit 86290418a736e016fa0a1ee7d1cc88ebb59808c5 Author: Semyon Danilov AuthorDate: Fri Jul 21 16:43:55 2023 +0400 Revert "Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky (#2337)" This reverts commit b687c3b0b84e0a31778c46803eda1a44b01b6d89. --- .../internal/network/netty/ConnectionManager.java | 4 +--- .../org/apache/ignite/raft/jraft/core/ItNodeTest.java | 17 + 2 files changed, 2 insertions(+), 19 deletions(-) diff --git a/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java b/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java index 2a77bfe720..11988c6b4c 100644 --- a/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java +++ b/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java @@ -268,9 +268,7 @@ public class ConnectionManager implements ChannelCreationListener { ConnectorKey key = new ConnectorKey<>(channel.consistentId(), getChannel(channel.channelId())); NettySender oldChannel = channels.put(key, channel); -// Old channel can still be in the map, but it must be closed already by the tie breaker in the -// handshake manager. -assert oldChannel == null || !oldChannel.isOpen() : "Incorrect channel creation flow"; +assert oldChannel == null : "Incorrect channel creation flow"; } /** diff --git a/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java b/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java index d8bf0aa892..66e6bd1a6e 100644 --- a/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java +++ b/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java @@ -2927,16 +2927,11 @@ public class ItNodeTest { List peers = new ArrayList<>(); peers.add(peer0); -int numPeers = 10; - -for (int i = 1; i < numPeers; i++) { +for (int i = 1; i < 10; i++) { TestPeer peer = new TestPeer(testInfo, TestUtils.INIT_PORT + i); peers.add(peer); assertTrue(cluster.start(peer, false, 300)); } - -waitForTopologyOnEveryNode(numPeers); - for (int i = 0; i < 9; i++) { leader = cluster.waitAndGetLeader(); assertNotNull(leader); @@ -3028,10 +3023,6 @@ public class ItNodeTest { verify(raftGrpEvtsLsnr, never()).onNewPeersConfigurationApplied(any(), any()); -// Wait until every node sees every other node, otherwise -// changePeersAsync can fail. -waitForTopologyOnEveryNode(numPeers); - for (int i = 0; i < 4; i++) { leader = cluster.getLeader(); assertNotNull(leader); @@ -3976,12 +3967,6 @@ public class ItNodeTest { } } -private void waitForTopologyOnEveryNode(int count) { -cluster.getAllNodes().forEach(peerId -> { -assertTrue(waitForTopology(cluster, peerId, count, TimeUnit.SECONDS.toMillis(10))); -}); -} - private static TestPeer findById(Collection peers, PeerId id) { return peers.stream().filter(t -> t.getPeerId().equals(id)).findAny().orElseThrow(); }
[ignite-3] branch main updated: Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky (#2337)
This is an automated email from the ASF dual-hosted git repository. sdanilov 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 b687c3b0b8 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky (#2337) b687c3b0b8 is described below commit b687c3b0b84e0a31778c46803eda1a44b01b6d89 Author: Semyon Danilov AuthorDate: Fri Jul 21 14:23:21 2023 +0400 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky (#2337) --- .../internal/network/netty/ConnectionManager.java | 4 +++- .../org/apache/ignite/raft/jraft/core/ItNodeTest.java | 17 - 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java b/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java index 11988c6b4c..2a77bfe720 100644 --- a/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java +++ b/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java @@ -268,7 +268,9 @@ public class ConnectionManager implements ChannelCreationListener { ConnectorKey key = new ConnectorKey<>(channel.consistentId(), getChannel(channel.channelId())); NettySender oldChannel = channels.put(key, channel); -assert oldChannel == null : "Incorrect channel creation flow"; +// Old channel can still be in the map, but it must be closed already by the tie breaker in the +// handshake manager. +assert oldChannel == null || !oldChannel.isOpen() : "Incorrect channel creation flow"; } /** diff --git a/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java b/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java index 66e6bd1a6e..d8bf0aa892 100644 --- a/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java +++ b/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java @@ -2927,11 +2927,16 @@ public class ItNodeTest { List peers = new ArrayList<>(); peers.add(peer0); -for (int i = 1; i < 10; i++) { +int numPeers = 10; + +for (int i = 1; i < numPeers; i++) { TestPeer peer = new TestPeer(testInfo, TestUtils.INIT_PORT + i); peers.add(peer); assertTrue(cluster.start(peer, false, 300)); } + +waitForTopologyOnEveryNode(numPeers); + for (int i = 0; i < 9; i++) { leader = cluster.waitAndGetLeader(); assertNotNull(leader); @@ -3023,6 +3028,10 @@ public class ItNodeTest { verify(raftGrpEvtsLsnr, never()).onNewPeersConfigurationApplied(any(), any()); +// Wait until every node sees every other node, otherwise +// changePeersAsync can fail. +waitForTopologyOnEveryNode(numPeers); + for (int i = 0; i < 4; i++) { leader = cluster.getLeader(); assertNotNull(leader); @@ -3967,6 +3976,12 @@ public class ItNodeTest { } } +private void waitForTopologyOnEveryNode(int count) { +cluster.getAllNodes().forEach(peerId -> { +assertTrue(waitForTopology(cluster, peerId, count, TimeUnit.SECONDS.toMillis(10))); +}); +} + private static TestPeer findById(Collection peers, PeerId id) { return peers.stream().filter(t -> t.getPeerId().equals(id)).findAny().orElseThrow(); }
[ignite-3] branch ignite-19996 updated (cccc3c1a69 -> 6ccc6cfe72)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19996 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 3c1a69 IGNITE-19996 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky add 6ccc6cfe72 IGNITE-19996 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky No new revisions were added by this update. Summary of changes: .../apache/ignite/internal/network/netty/ConnectionManager.java | 8 +++- 1 file changed, 3 insertions(+), 5 deletions(-)
[ignite-3] branch ignite-19996 updated (259bec3fb3 -> cccc3c1a69)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19996 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 259bec3fb3 IGNITE-19996 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky add 3c1a69 IGNITE-19996 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky No new revisions were added by this update. Summary of changes: .../org/apache/ignite/raft/jraft/core/ItNodeTest.java | 17 + 1 file changed, 13 insertions(+), 4 deletions(-)
[ignite-3] 02/02: IGNITE-19996 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a commit to branch ignite-19996 in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit 259bec3fb3dca07521609bb6e52b9e418bf3cf72 Author: Semyon Danilov AuthorDate: Wed Jul 19 22:01:18 2023 +0400 IGNITE-19996 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky --- .../java/org/apache/ignite/raft/jraft/core/ItNodeTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java b/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java index ece7b8275e..a2329e984b 100644 --- a/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java +++ b/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java @@ -3023,6 +3023,8 @@ public class ItNodeTest { verify(raftGrpEvtsLsnr, never()).onNewPeersConfigurationApplied(any(), any()); +// Wait until every node sees every other node, otherwise +// changePeersAsync can fail. cluster.getAllNodes().forEach(peerId -> { assertTrue(waitForTopology(cluster, peerId, 5, TimeUnit.SECONDS.toMillis(10))); });
[ignite-3] branch ignite-19996 created (now 259bec3fb3)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19996 in repository https://gitbox.apache.org/repos/asf/ignite-3.git at 259bec3fb3 IGNITE-19996 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky This branch includes the following new commits: new cfdfc8afbb IGNITE-19996 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky new 259bec3fb3 IGNITE-19996 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[ignite-3] 01/02: IGNITE-19996 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a commit to branch ignite-19996 in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit cfdfc8afbbf5a60b97ac5c2f09b267becdeaac66 Author: Semyon Danilov AuthorDate: Wed Jul 19 22:00:41 2023 +0400 IGNITE-19996 Fix ItNodeTest#testNewPeersConfigurationAppliedListener flaky --- .../org/apache/ignite/internal/network/netty/ConnectionManager.java | 6 +- .../java/org/apache/ignite/raft/jraft/core/ItNodeTest.java | 4 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java b/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java index 11988c6b4c..83d58e5c89 100644 --- a/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java +++ b/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java @@ -268,7 +268,11 @@ public class ConnectionManager implements ChannelCreationListener { ConnectorKey key = new ConnectorKey<>(channel.consistentId(), getChannel(channel.channelId())); NettySender oldChannel = channels.put(key, channel); -assert oldChannel == null : "Incorrect channel creation flow"; +if (oldChannel != null) { +// Old channel can still be in the map, but it must be closed already by the tie breaker in the +// handshake manager. +assert !oldChannel.isOpen() : "Incorrect channel creation flow"; +} } /** diff --git a/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java b/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java index 66e6bd1a6e..ece7b8275e 100644 --- a/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java +++ b/modules/raft/src/integrationTest/java/org/apache/ignite/raft/jraft/core/ItNodeTest.java @@ -3023,6 +3023,10 @@ public class ItNodeTest { verify(raftGrpEvtsLsnr, never()).onNewPeersConfigurationApplied(any(), any()); +cluster.getAllNodes().forEach(peerId -> { +assertTrue(waitForTopology(cluster, peerId, 5, TimeUnit.SECONDS.toMillis(10))); +}); + for (int i = 0; i < 4; i++) { leader = cluster.getLeader(); assertNotNull(leader);
[ignite-3] branch main updated: IGNITE-19986 Increase stability of inMemoryNodeRestartNotLeader in ItIgniteInMemoryNodeRestartTest (#2323)
This is an automated email from the ASF dual-hosted git repository. sdanilov 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 794e272970 IGNITE-19986 Increase stability of inMemoryNodeRestartNotLeader in ItIgniteInMemoryNodeRestartTest (#2323) 794e272970 is described below commit 794e272970f583ef591027ffbc01b754cc8aa488 Author: Roman Puchkovskiy AuthorDate: Mon Jul 17 13:11:10 2023 +0400 IGNITE-19986 Increase stability of inMemoryNodeRestartNotLeader in ItIgniteInMemoryNodeRestartTest (#2323) --- .../app/ItIgniteInMemoryNodeRestartTest.java | 35 ++ 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteInMemoryNodeRestartTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteInMemoryNodeRestartTest.java index 192592d2ce..a18cae7913 100644 --- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteInMemoryNodeRestartTest.java +++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteInMemoryNodeRestartTest.java @@ -18,6 +18,7 @@ package org.apache.ignite.internal.runner.app; import static org.apache.ignite.internal.testframework.IgniteTestUtils.testNodeName; +import static org.apache.ignite.internal.testframework.IgniteTestUtils.waitForCondition; import static org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willCompleteSuccessfully; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; @@ -42,11 +43,12 @@ import org.apache.ignite.internal.raft.Loza; import org.apache.ignite.internal.raft.service.LeaderWithTerm; import org.apache.ignite.internal.raft.service.RaftGroupService; import org.apache.ignite.internal.replicator.TablePartitionId; +import org.apache.ignite.internal.storage.RowId; import org.apache.ignite.internal.table.TableImpl; import org.apache.ignite.internal.table.distributed.storage.InternalTableImpl; -import org.apache.ignite.internal.testframework.IgniteTestUtils; import org.apache.ignite.internal.testframework.TestIgnitionManager; import org.apache.ignite.internal.util.IgniteUtils; +import org.apache.ignite.lang.IgniteBiTuple; import org.apache.ignite.sql.Session; import org.apache.ignite.table.Table; import org.apache.ignite.table.Tuple; @@ -192,7 +194,7 @@ public class ItIgniteInMemoryNodeRestartTest extends BaseIgniteRestartTest { InternalTableImpl internalTable = (InternalTableImpl) restartingTable.internalTable(); // Check that it restarts. -assertTrue(IgniteTestUtils.waitForCondition( +assertTrue(waitForCondition( () -> { boolean raftNodeStarted = loza.localNodes().stream().anyMatch(nodeId -> { if (nodeId.groupId() instanceof TablePartitionId) { @@ -244,7 +246,7 @@ public class ItIgniteInMemoryNodeRestartTest extends BaseIgniteRestartTest { Loza loza = restartingNode.raftManager(); // Check that it restarts. -assertTrue(IgniteTestUtils.waitForCondition( +assertTrue(waitForCondition( () -> loza.localNodes().stream().anyMatch(nodeId -> { if (nodeId.groupId() instanceof TablePartitionId) { return ((TablePartitionId) nodeId.groupId()).tableId() == table.tableId(); @@ -286,7 +288,7 @@ public class ItIgniteInMemoryNodeRestartTest extends BaseIgniteRestartTest { for (int i = 0; i < 3; i++) { Loza loza = ignite(i).raftManager(); -assertTrue(IgniteTestUtils.waitForCondition( +assertTrue(waitForCondition( () -> loza.localNodes().stream().anyMatch(nodeId -> { if (nodeId.groupId() instanceof TablePartitionId) { return ((TablePartitionId) nodeId.groupId()).tableId() == table.tableId(); @@ -325,7 +327,7 @@ public class ItIgniteInMemoryNodeRestartTest extends BaseIgniteRestartTest { * @param replicas Replica factor. * @param partitions Partitions count. */ -private static void createTableWithData(Ignite ignite, String name, int replicas, int partitions) { +private static void createTableWithData(Ignite ignite, String name, int replicas, int partitions) throws InterruptedException { try (Session session = ignite.sql().createSession()) { session.execute(null, String.format("CREATE ZONE IF NOT EXISTS ZONE_%s ENGINE aimem WITH REPLICAS=%d, PARTITIONS=%d", name, replicas, partitions)); @@ -342,6 +344,29 @@ public class ItIgniteInMemoryNodeRestartTest extends BaseIgniteRestartTest { var table = (TableI
[ignite-3] branch ignite-15655-new-network deleted (was c754fcd31e)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-15655-new-network in repository https://gitbox.apache.org/repos/asf/ignite-3.git was c754fcd31e IGNITE-15655 remove wrong changes This change permanently discards the following revisions: discard c754fcd31e IGNITE-15655 remove wrong changes discard b006a55b1f IGNITE-15655 enable all tests
[ignite-3] branch ignite-19778 deleted (was bbed151017)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was bbed151017 Add todo The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-19903 deleted (was d9290c8083)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19903 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was d9290c8083 Review fixes The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch main updated: IGNITE-19903 Fix recovery descriptor race condition (#2283)
This is an automated email from the ASF dual-hosted git repository. sdanilov 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 527b7b27d5 IGNITE-19903 Fix recovery descriptor race condition (#2283) 527b7b27d5 is described below commit 527b7b27d5cfeb705ff38a0f73fae0a6500ffcb7 Author: Semyon Danilov AuthorDate: Thu Jul 13 15:50:43 2023 +0400 IGNITE-19903 Fix recovery descriptor race condition (#2283) --- .../ignite/internal/future/OrderingFuture.java | 63 +- .../CompletableFutureCompletedMatcher.java | 61 ++ .../network/netty/ItConnectionManagerTest.java | 97 ++ .../scalecube/ItScaleCubeNetworkMessagingTest.java | 37 +++-- ...ion.java => ChannelAlreadyExistsException.java} | 27 +++--- .../network/handshake/HandshakeException.java | 4 +- .../ChannelCreationListener.java} | 26 ++ .../internal/network/netty/ConnectionManager.java | 50 +-- .../netty/DefaultRecoveryDescriptorProvider.java | 14 +--- .../network/netty/InboundRecoveryHandler.java | 8 ++ .../ignite/internal/network/netty/NettySender.java | 9 +- .../ignite/internal/network/netty/NettyServer.java | 8 -- .../network/recovery/HandshakeTieBreaker.java | 40 + .../recovery/RecoveryClientHandshakeManager.java | 92 +++- .../network/recovery/RecoveryDescriptor.java | 46 ++ .../recovery/RecoveryDescriptorProvider.java | 3 +- .../recovery/RecoveryServerHandshakeManager.java | 96 - .../ignite/network/DefaultMessagingService.java| 26 +- .../internal/network/netty/NettyServerTest.java| 8 +- .../network/netty/RecoveryHandshakeTest.java | 53 +++- .../network/DefaultMessagingServiceTest.java | 3 +- .../placementdriver/leases/LeaseTracker.java | 1 - 22 files changed, 592 insertions(+), 180 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/future/OrderingFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/future/OrderingFuture.java index 6aa95c04ff..40b7821f07 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/future/OrderingFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/future/OrderingFuture.java @@ -29,6 +29,7 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.function.BiConsumer; +import java.util.function.BiFunction; import java.util.function.Function; import org.jetbrains.annotations.Nullable; @@ -299,8 +300,8 @@ public class OrderingFuture { private static void acceptQuietly(BiConsumer action, T result, Throwable ex) { try { action.accept(result, ex); -} catch (Exception e) { -// ignore +} catch (Exception ignored) { +// No-op. } } @@ -337,6 +338,41 @@ public class OrderingFuture { } } +/** + * Adds a mapping function that gets executed as soon as this future gets completed for any reason. The function will accept both result + * and exception and return a future with the result of the function's execution. + * + * @param mapper The function to use to compute the value of the returned OrderingFuture. + * @return The new OrderingFuture. + * @see CompletableFuture#handle(BiFunction) + */ +public OrderingFuture handle(BiFunction mapper) { +Handle dependent = null; + +while (true) { +State prevState = state; + +if (prevState.completionQueueProcessed()) { +try { +U mappingResult = mapper.apply(prevState.result, prevState.exception); + +return completedFuture(mappingResult); +} catch (Throwable t) { +return failedFuture(t); +} +} + +if (dependent == null) { +dependent = new Handle<>(new OrderingFuture<>(), mapper); +} +State newState = prevState.enqueueDependent(dependent); + +if (replaceState(prevState, newState)) { +return dependent.resultFuture; +} +} +} + private static CompletionException wrapWithCompletionException(Throwable ex) { return ex instanceof CompletionException ? (CompletionException) ex : new CompletionException(ex); } @@ -463,6 +499,25 @@ public class OrderingFuture { } } +private static class Handle implements DependentAction { +private final OrderingFuture resultFuture; +private final BiFunction action; + +private Handle(OrderingFuture resultFuture, BiFunction action) { +this.resultF
[ignite-3] branch main updated: IGNITE-19963 Move completion of ClockWaiter futures to a special thread pool (#2310)
This is an automated email from the ASF dual-hosted git repository. sdanilov 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 48ca4d4632 IGNITE-19963 Move completion of ClockWaiter futures to a special thread pool (#2310) 48ca4d4632 is described below commit 48ca4d4632d8dc2d55fbde4bbfa7a6c52a841b30 Author: Roman Puchkovskiy AuthorDate: Thu Jul 13 14:00:32 2023 +0400 IGNITE-19963 Move completion of ClockWaiter futures to a special thread pool (#2310) --- .../ignite/internal/catalog/ClockWaiter.java | 95 ++ .../ignite/internal/catalog/ClockWaiterTest.java | 3 +- .../ignite/internal/hlc/ClockUpdateListener.java | 12 ++- .../ignite/internal/hlc/HybridClockImpl.java | 24 -- .../apache/ignite/internal/HybridClockTest.java| 8 +- .../apache/ignite/internal/TestHybridClock.java| 2 - 6 files changed, 96 insertions(+), 48 deletions(-) diff --git a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/ClockWaiter.java b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/ClockWaiter.java index 8c5c65df22..7141237fbd 100644 --- a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/ClockWaiter.java +++ b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/ClockWaiter.java @@ -17,14 +17,18 @@ package org.apache.ignite.internal.catalog; +import static java.util.concurrent.CompletableFuture.completedFuture; import static java.util.concurrent.CompletableFuture.failedFuture; import java.util.concurrent.CancellationException; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionException; +import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import org.apache.ignite.internal.hlc.ClockUpdateListener; @@ -35,6 +39,7 @@ import org.apache.ignite.internal.logger.Loggers; import org.apache.ignite.internal.manager.IgniteComponent; import org.apache.ignite.internal.thread.NamedThreadFactory; import org.apache.ignite.internal.util.IgniteSpinBusyLock; +import org.apache.ignite.internal.util.IgniteUtils; import org.apache.ignite.internal.util.PendingComparableValuesTracker; import org.apache.ignite.internal.util.TrackerClosedException; import org.apache.ignite.lang.NodeStoppingException; @@ -59,18 +64,39 @@ public class ClockWaiter implements IgniteComponent { private final ClockUpdateListener updateListener = this::onUpdate; +private final Runnable triggerClockUpdate = this::triggerTrackerUpdate; + +/** Executor on which short-lived tasks are scheduled that are needed to timely complete awaiting futures. */ private volatile ScheduledExecutorService scheduler; +/** Executor that executes completion of futures returned to the user, so it might take arbitrarily heavy operations. */ +private final ExecutorService futureExecutor; + +/** + * Creates a new {@link ClockWaiter}. + * + * @param nodeName Name of the current Ignite node. + * @param clock Clock to look at. + */ public ClockWaiter(String nodeName, HybridClock clock) { this.nodeName = nodeName; this.clock = clock; + +futureExecutor = new ThreadPoolExecutor( +0, +4, +1, +TimeUnit.MINUTES, +new LinkedBlockingQueue<>(), +new NamedThreadFactory(nodeName + "-clock-waiter-future-executor", LOG) +); } @Override public void start() { clock.addUpdateListener(updateListener); -scheduler = Executors.newSingleThreadScheduledExecutor(new NamedThreadFactory(nodeName + "-clock-waiter", LOG)); +scheduler = Executors.newSingleThreadScheduledExecutor(new NamedThreadFactory(nodeName + "-clock-waiter-scheduler", LOG)); } @Override @@ -91,6 +117,9 @@ public class ClockWaiter implements IgniteComponent { // user-facing futures we return from the tracker), but we don't need them for anything else, // so it's simpler to just use shutdownNow(). scheduler.shutdownNow(); + +IgniteUtils.shutdownAndAwaitTermination(futureExecutor, 10, TimeUnit.SECONDS); + scheduler.awaitTermination(10, TimeUnit.SECONDS); } @@ -109,6 +138,9 @@ public class ClockWaiter implements IgniteComponent { /** * Wait for the clock to reach the given timestamp. * + * If completion of the returned future triggers some I/O operations or causes the code to block, it
[ignite-3] branch ignite-19903 updated (f9730731f3 -> d9290c8083)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19903 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from f9730731f3 Review fixes add d9290c8083 Review fixes No new revisions were added by this update. Summary of changes: .../CompletableFutureCompletedMatcher.java | 5 +- .../network/netty/ItConnectionManagerTest.java | 7 +- .../network/recovery/HandshakeTieBreaker.java | 40 + .../recovery/RecoveryClientHandshakeManager.java | 85 ++- .../recovery/RecoveryServerHandshakeManager.java | 99 +++--- 5 files changed, 141 insertions(+), 95 deletions(-) create mode 100644 modules/network/src/main/java/org/apache/ignite/internal/network/recovery/HandshakeTieBreaker.java
[ignite-3] branch ignite-19903 updated (1b7652f6af -> f9730731f3)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19903 in repository https://gitbox.apache.org/repos/asf/ignite-3.git omit 1b7652f6af Review fixes omit 0c46366f3c . omit 50f4d965e5 . omit 43dbdb2571 . omit b90793d3d0 . omit 8278f70a23 . omit 30de0fb088 . omit 593f061a70 . omit 463d9e00ba . omit 2b40a6ee39 . omit f97d612f92 IGNITE-19903 Fix recovery descriptor race condition add f8a280e514 IGNITE-19954 .NET: Work around tx conflicts in TestAutoFlushFrequency (#2309) add 0a6e79264b IGNITE-19948 Add authenticated username to the prompt (#2304) add 7a5fb6bc54 IGNITE-19941 Sql. Test ExecutionServiceImplTest.testCancelOnInitiator is flaky (#2305) add e741560fd3 IGNITE-19927 Improve test coverage for CREATE TABLE (#2297) add fef7a24c2a IGNITE-19812 Do not swallow exceptions during start of a partition (#2240) add b48b5c34af IGNITE-19903 Fix recovery descriptor race condition add c3a6c7b8e7 . add e5c3200f0d . add bc6227408f . add 351e73e065 . add b05aeb7f2d . add 7fbf3723d8 . add e9b7e133e8 . add 597cf38489 . add bbb980422a . add 596cfddc98 Review fixes add f9730731f3 Review fixes This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (1b7652f6af) \ N -- N -- N refs/heads/ignite-19903 (f9730731f3) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .../internal/catalog/CatalogServiceImpl.java | 66 ++- .../internal/catalog/CatalogServiceSelfTest.java | 220 ++--- .../ItConnectToClusterTestBase.java| 10 +- ...tConnectWithBasicAuthenticationCommandTest.java | 102 ++ .../commands/questions/ItConnectToClusterTest.java | 1 + .../questions/ItConnectToSslClusterTest.java | 1 + .../repl/executor/ItIgnitePicocliCommandsTest.java | 2 +- .../internal/cli/call/connect/ConnectCall.java | 38 +++- .../handler/IgniteCliApiExceptionHandler.java | 8 +- .../ignite/internal/cli/core/repl/SessionInfo.java | 9 +- .../cli/core/repl/prompt/ReplPromptProvider.java | 13 +- .../internal/cli/core/rest/ApiClientFactory.java | 39 +++- .../core/repl/SessionDefaultValueProviderTest.java | 2 +- .../filter/DynamicCompleterFilterTest.java | 3 +- .../recovery/RecoveryClientHandshakeManager.java | 2 + .../recovery/RecoveryServerHandshakeManager.java | 2 + .../dotnet/Apache.Ignite.Tests/MetricsTests.cs | 2 +- .../Apache.Ignite.Tests/Table/DataStreamerTests.cs | 7 +- .../dotnet/Apache.Ignite.Tests/TestUtils.cs| 16 +- .../dotnet/Apache.Ignite/Internal/ClientSocket.cs | 2 +- .../runner/app/ItIgniteNodeRestartTest.java| 16 +- .../internal/sql/engine/ItCreateTableDdlTest.java | 41 +++- .../streamer/ItAbstractDataStreamerTest.java | 1 + .../schema/configuration/TableValidatorImpl.java | 2 +- .../sql/engine/exec/ExecutionServiceImplTest.java | 56 -- .../internal/table/distributed/TableManager.java | 26 +-- 26 files changed, 554 insertions(+), 133 deletions(-) rename modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/{questions => }/ItConnectToClusterTestBase.java (90%) create mode 100644 modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/commands/connect/ItConnectWithBasicAuthenticationCommandTest.java
[ignite-3] branch main updated: IGNITE-19812 Do not swallow exceptions during start of a partition (#2240)
This is an automated email from the ASF dual-hosted git repository. sdanilov 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 fef7a24c2a IGNITE-19812 Do not swallow exceptions during start of a partition (#2240) fef7a24c2a is described below commit fef7a24c2a029cac720d2fea3815c2a70a86b72f Author: Roman Puchkovskiy AuthorDate: Wed Jul 12 19:19:47 2023 +0400 IGNITE-19812 Do not swallow exceptions during start of a partition (#2240) --- .../runner/app/ItIgniteNodeRestartTest.java| 16 - .../internal/table/distributed/TableManager.java | 26 +- 2 files changed, 26 insertions(+), 16 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 47f2d5f4f7..7a9b323950 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 @@ -28,7 +28,6 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.mockito.Mockito.mock; import java.io.IOException; import java.nio.file.Files; @@ -313,6 +312,12 @@ public class ItIgniteNodeRestartTest extends BaseIgniteRestartTest { Consumer>> registry = (c) -> metaStorageMgr.registerRevisionUpdateListener(c::apply); +var baselineManager = new BaselineManager( +clusterCfgMgr, +metaStorageMgr, +clusterSvc +); + DataStorageModules dataStorageModules = new DataStorageModules(ServiceLoader.load(DataStorageModule.class)); Path storagePath = getPartitionsStorePath(dir); @@ -362,7 +367,7 @@ public class ItIgniteNodeRestartTest extends BaseIgniteRestartTest { replicaMgr, lockManager, replicaService, -mock(BaselineManager.class), +baselineManager, clusterSvc.topologyService(), txManager, dataStorageManager, @@ -416,6 +421,7 @@ public class ItIgniteNodeRestartTest extends BaseIgniteRestartTest { cmgManager, replicaMgr, txManager, +baselineManager, metaStorageMgr, clusterCfgMgr, dataStorageManager, @@ -967,7 +973,7 @@ public class ItIgniteNodeRestartTest extends BaseIgniteRestartTest { * Checks that the table created in cluster of 2 nodes, is recovered on a node after restart of this node. */ @Test -public void testRecoveryOnOneNode() throws InterruptedException { +public void testRecoveryOnOneNode() { IgniteImpl ignite = startNode(0); IgniteImpl node = startNode(1); @@ -1048,7 +1054,7 @@ public class ItIgniteNodeRestartTest extends BaseIgniteRestartTest { */ @Test @Disabled(value = "https://issues.apache.org/jira/browse/IGNITE-18919";) -public void testMetastorageStop() throws InterruptedException { +public void testMetastorageStop() { int cfgGap = 4; List nodes = startNodes(3); @@ -1182,7 +1188,7 @@ public class ItIgniteNodeRestartTest extends BaseIgniteRestartTest { * @param name Table name. * @param replicas Replica factor. */ -private void createTableWithData(List nodes, String name, int replicas) throws InterruptedException { +private void createTableWithData(List nodes, String name, int replicas) { createTableWithData(nodes, name, replicas, 2); } diff --git a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java index 9e038c48f0..e7bfde3fd0 100644 --- a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java +++ b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java @@ -141,6 +141,7 @@ import org.apache.ignite.internal.schema.event.SchemaEvent; import org.apache.ignite.internal.schema.event.SchemaEventParameters; import org.apache.ignite.internal.storage.DataStorageManager; import org.apache.ignite.internal.storage.MvPartitionStorage; +import org.apache.ignite.internal.storage.RowId; import org.apache.ignite.internal.storage.StorageException; import org.apache.ignite.internal.storage.engine.MvTa
[ignite-3] branch ignite-19903 updated (c178849ed3 -> b3e97592ae)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19903 in repository https://gitbox.apache.org/repos/asf/ignite-3.git omit c178849ed3 . omit 30bfabe82a . omit 0a9b08e837 . omit db2de8f949 . omit 2a1245a125 . omit f84f2ce38e . omit 4f847a5718 . omit 116b7e6ada . omit de59bc7fd4 IGNITE-19903 Fix recovery descriptor race condition add 8586df07f8 IGNITE-19578 Decrease count of lease messages to meta storage (#2141) add 96aaa46976 IGNITE-19609 Java client: Add data streamer metrics (#2298) add 5b1b2d3b37 IGNITE-19932 Simplify handleChangePendingAssignmentEvent in TableManager (#2299) add 37a0ee3831 IGNITE-19865 Fix propagating trace identifier (#2291) add d13553ebda IGNITE-19688 use waitAndGetLeader instead of waitLeader and getLeader (#2259) add 37651e2928 IGNITE-19212 ODBC: Implement basic query execution (#2284) add 00181c783f IGNITE-19810 Remove excessive BinaryRow buffer copying (#2295) add 61864e4634 IGNITE-19946 Implement batch log updates for RAFT. (#2273) add 87afd9d8c8 IGNITE-19205 ODBC data buffers (#2303) add 8303cc4f02 IGNITE-19935 Allow combining individual colocation hashes (#2302) add 39a7c6800d IGNITE-19924 Test shouldn't guess id of newly created catalog object (#2296) add 4d4c9e8748 IGNITE-19778 Restore components state on metastorage recovery (#2266) add 3ee17160cc IGNITE-19903 Fix recovery descriptor race condition add caa26c28d7 . add 9144b2dded . add 4c74b624fe . add 4d2cb4b2ba . add 90d0db9f3c . add f9cf3c443b . add b779f2f975 . add 1eb013 . add b3e97592ae . This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (c178849ed3) \ N -- N -- N refs/heads/ignite-19903 (b3e97592ae) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .idea/inspectionProfiles/Project_Default.xml | 1 - .../apache/ignite/lang/IgniteCheckedException.java | 9 +- .../org/apache/ignite/lang/IgniteException.java| 9 +- .../apache/ignite/lang/IgniteExceptionUtils.java | 6 +- .../apache/ignite/lang/IgniteExceptionTest.java| 100 ++- .../internal/binarytuple/BinaryTupleCommon.java| 6 + .../internal/catalog/storage/UpdateLogImpl.java| 2 +- .../internal/catalog/CatalogServiceSelfTest.java | 207 +++-- .../ignite/internal/client/ClientMetricSource.java | 107 ++- .../ignite/internal/client/ReliableChannel.java| 9 + .../internal/client/table/ClientDataStreamer.java | 5 +- .../client/table/ClientKeyValueBinaryView.java | 1 + .../apache/ignite/client/ClientMetricsTest.java| 45 + .../ignite/client/PartitionAwarenessTest.java | 359 .../java/org/apache/ignite/client/TestServer.java | 12 + .../configuration/ConfigurationChanger.java| 5 - .../storage/ConfigurationStorage.java | 10 - .../storage/TestConfigurationStorage.java | 5 - .../internal/streamer/StreamerMetricSink.java} | 32 +- .../internal/streamer/StreamerSubscriber.java | 39 +- .../org/apache/ignite/internal/util/ByteUtils.java | 30 - .../ignite/internal/util/ExceptionUtils.java | 30 + .../ignite/internal/util/HashCalculator.java | 206 - .../org/apache/ignite/internal/util/HashUtils.java | 52 +- .../apache/ignite/internal/util/IgniteUtils.java | 53 ++ .../java/org/apache/ignite/lang/ByteArray.java | 7 + .../lang/IgniteInternalCheckedException.java | 9 +- .../ignite/lang/IgniteInternalException.java | 9 +- .../distributionzones/DistributionZoneManager.java | 2 +- .../BaseDistributionZoneManagerTest.java | 2 +- .../internal/metastorage/MetaStorageManager.java | 23 +- .../impl/ItMetaStorageManagerImplTest.java | 71 -- ...MetaStorageSafeTimePropagationAbstractTest.java | 2 +- .../metastorage/impl/ItMetaStorageWatchTest.java | 6 +- .../metastorage/impl/MetaStorageManagerImpl.java | 40 +- .../server/persistence/RocksDbKeyValueStorage.java | 6 +- .../server/BasicOperationsKeyValueStorageTest.java | 6 +- .../server/SimpleInMemoryKeyValueStorage.java | 6 +- .../recovery/RecoveryClientHandshakeManager.java | 2 +- .../network/recovery/RecoveryDescriptor.java | 20 +- .../recovery/RecoveryServerHand
[ignite-3] branch main updated: IGNITE-19778 Restore components state on metastorage recovery (#2266)
This is an automated email from the ASF dual-hosted git repository. sdanilov 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 4d4c9e8748 IGNITE-19778 Restore components state on metastorage recovery (#2266) 4d4c9e8748 is described below commit 4d4c9e8748bd16e079757cc4f4beac6b8977e3c0 Author: Semyon Danilov AuthorDate: Wed Jul 12 12:03:53 2023 +0400 IGNITE-19778 Restore components state on metastorage recovery (#2266) --- .../internal/catalog/storage/UpdateLogImpl.java| 2 +- .../configuration/ConfigurationChanger.java| 5 - .../storage/ConfigurationStorage.java | 10 - .../storage/TestConfigurationStorage.java | 5 - .../java/org/apache/ignite/lang/ByteArray.java | 7 + .../distributionzones/DistributionZoneManager.java | 2 +- .../BaseDistributionZoneManagerTest.java | 2 +- .../internal/metastorage/MetaStorageManager.java | 23 +- .../impl/ItMetaStorageManagerImplTest.java | 71 -- ...MetaStorageSafeTimePropagationAbstractTest.java | 2 +- .../metastorage/impl/ItMetaStorageWatchTest.java | 6 +- .../metastorage/impl/MetaStorageManagerImpl.java | 40 ++-- .../server/persistence/RocksDbKeyValueStorage.java | 6 +- .../server/BasicOperationsKeyValueStorageTest.java | 6 +- .../server/SimpleInMemoryKeyValueStorage.java | 6 +- .../ignite/internal/BaseIgniteRestartTest.java | 66 +- .../ItDistributedConfigurationPropertiesTest.java | 4 +- .../ItDistributedConfigurationStorageTest.java | 4 +- .../storage/ItRebalanceDistributedTest.java| 68 +++--- .../zones/ItDistributionZonesFilterTest.java | 7 + ...niteDistributionZoneManagerNodeRestartTest.java | 5 +- .../runner/app/ItIgniteNodeRestartTest.java| 9 +- .../org/apache/ignite/internal/app/IgniteImpl.java | 37 +--- .../storage/DistributedConfigurationStorage.java | 134 +-- .../storage/LocalConfigurationStorage.java | 5 - .../storage/LocalFileConfigurationStorage.java | 5 - .../recovery/ConfigurationCatchUpListener.java | 117 -- .../recovery/RecoveryCompletionFutureFactory.java | 51 - .../DistributedConfigurationCatchUpTest.java | 244 - .../DistributedConfigurationStorageTest.java | 8 +- .../internal/table/distributed/TableManager.java | 12 +- 31 files changed, 189 insertions(+), 780 deletions(-) diff --git a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/UpdateLogImpl.java b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/UpdateLogImpl.java index f627c51118..1b7994fabc 100644 --- a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/UpdateLogImpl.java +++ b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/storage/UpdateLogImpl.java @@ -157,7 +157,7 @@ public class UpdateLogImpl implements UpdateLog { // TODO: IGNITE-19790 Read range from metastore while (true) { ByteArray key = CatalogKey.update(ver++); -Entry entry = metastore.getLocally(key.bytes(), appliedRevision); +Entry entry = metastore.getLocally(key, appliedRevision); if (entry.empty() || entry.tombstone()) { break; diff --git a/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/ConfigurationChanger.java b/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/ConfigurationChanger.java index 5a01225087..6b115f5995 100644 --- a/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/ConfigurationChanger.java +++ b/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/ConfigurationChanger.java @@ -644,11 +644,6 @@ public abstract class ConfigurationChanger implements DynamicConfigurationChange rwLock.writeLock().unlock(); } -// Save revisions for recovery. -// We execute synchronously to avoid a race between notifications about updating the Meta Storage and updating the revision -// of the Meta Storage. -storage.writeConfigurationRevision(oldStorageRoots.version, newStorageRoots.version); - long notificationNumber = notificationListenerCnt.incrementAndGet(); CompletableFuture notificationFuture; diff --git a/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/storage/ConfigurationStorage.java b/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/storage/ConfigurationStorage.java index 7315dfd51b..d9663eb284 100644 --- a/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/storage/ConfigurationStorage.java +++ b/modules/configuration/src/main/java
[ignite-3] branch ignite-19778 updated (41dec8f3e6 -> bbed151017)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 41dec8f3e6 Add todo add bbed151017 Add todo No new revisions were added by this update. Summary of changes: .../internal/distribution/zones/ItDistributionZonesFilterTest.java | 2 ++ 1 file changed, 2 insertions(+)
[ignite-3] branch ignite-19778 updated (6c7fc104a0 -> 41dec8f3e6)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git omit 6c7fc104a0 IGNITE-19778 Review fixes omit 2e852fe634 IGNITE-19778 Review fixes omit eb2d457a9c IGNITE-19778 Review fixes omit bdf5ff9177 . omit 21d346c96b . omit 2b3c39fbd6 . omit d38f2e0cdd IGNITE-19778 omit 75c6f48b6a IGNITE-19778 omit 808d0f0cdb IGNITE-19778 omit 67e5121fbf IGNITE-19778 omit 5ecae80ac8 IGNITE-19778 omit 5b0beaa208 IGNITE-19778 omit 37860bf289 IGNITE-19778 omit 9cb47fa014 IGNITE-19778 omit 4463ad71f4 IGNITE-19778 omit 0d2c60213f IGNITE-19778 omit f926bb14d1 IGNITE-19778 omit a5af5f3a46 IGNITE-19778 Initial add 00bbecb8a5 IGNITE-19667 Make ClientTableCommon.readTable async (#2293) add 8586df07f8 IGNITE-19578 Decrease count of lease messages to meta storage (#2141) add 96aaa46976 IGNITE-19609 Java client: Add data streamer metrics (#2298) add 5b1b2d3b37 IGNITE-19932 Simplify handleChangePendingAssignmentEvent in TableManager (#2299) add 37a0ee3831 IGNITE-19865 Fix propagating trace identifier (#2291) add d13553ebda IGNITE-19688 use waitAndGetLeader instead of waitLeader and getLeader (#2259) add 37651e2928 IGNITE-19212 ODBC: Implement basic query execution (#2284) add 00181c783f IGNITE-19810 Remove excessive BinaryRow buffer copying (#2295) add 61864e4634 IGNITE-19946 Implement batch log updates for RAFT. (#2273) add 87afd9d8c8 IGNITE-19205 ODBC data buffers (#2303) add 8303cc4f02 IGNITE-19935 Allow combining individual colocation hashes (#2302) add eaf37c0f08 IGNITE-19778 Initial add 266ee432f2 IGNITE-19778 add 1febfb3ef3 IGNITE-19778 add ab5af9980a IGNITE-19778 add 427e480ff1 IGNITE-19778 add a387a7f000 IGNITE-19778 add c87e6323fa IGNITE-19778 add a4406068f4 IGNITE-19778 add 0f39557714 IGNITE-19778 add a2f5b3ccf1 IGNITE-19778 add a9dce2bfa7 IGNITE-19778 add 7fd41f217b IGNITE-19778 add 24d8b52df1 . add bb7079299d . add eb8f35ad01 . add b3f1fa1194 IGNITE-19778 Review fixes add f177a56bf1 IGNITE-19778 Review fixes add cb36185b06 IGNITE-19778 Review fixes add 41dec8f3e6 Add todo This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (6c7fc104a0) \ N -- N -- N refs/heads/ignite-19778 (41dec8f3e6) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .idea/inspectionProfiles/Project_Default.xml | 1 - .../apache/ignite/lang/IgniteCheckedException.java | 9 +- .../org/apache/ignite/lang/IgniteException.java| 9 +- .../apache/ignite/lang/IgniteExceptionUtils.java | 6 +- .../apache/ignite/lang/IgniteExceptionTest.java| 100 ++- .../internal/binarytuple/BinaryTupleCommon.java| 6 + .../handler/ClientInboundMessageHandler.java | 24 +- .../ClientComputeExecuteColocatedRequest.java | 19 +- .../requests/table/ClientSchemasGetRequest.java| 43 +- .../handler/requests/table/ClientTableCommon.java | 18 +- .../ClientTablePartitionAssignmentGetRequest.java | 23 +- .../table/ClientTupleContainsKeyRequest.java | 19 +- .../table/ClientTupleDeleteAllExactRequest.java| 13 +- .../table/ClientTupleDeleteAllRequest.java | 13 +- .../table/ClientTupleDeleteExactRequest.java | 15 +- .../requests/table/ClientTupleDeleteRequest.java | 15 +- .../requests/table/ClientTupleGetAllRequest.java | 13 +- .../table/ClientTupleGetAndDeleteRequest.java | 13 +- .../table/ClientTupleGetAndReplaceRequest.java | 13 +- .../table/ClientTupleGetAndUpsertRequest.java | 13 +- .../requests/table/ClientTupleGetRequest.java | 13 +- .../table/ClientTupleInsertAllRequest.java | 13 +- .../requests/table/ClientTupleInsertRequest.java | 15 +- .../table/ClientTupleReplaceExactRequest.java | 19 +- .../requests/table/ClientTupleReplaceRequest.java | 15 +- .../table/ClientTupleUpsertAllRequest.java | 13 +- .../requests/table/ClientTupleUpsertRequest.java | 11 +- .../ignite/internal/client/ClientMetricSource.java | 107 ++- .../ignite/internal/client/ReliableC
[ignite-3] branch ignite-19903 updated (30bfabe82a -> c178849ed3)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19903 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 30bfabe82a . add c178849ed3 . No new revisions were added by this update. Summary of changes: .../ignite/internal/network/netty/ItConnectionManagerTest.java | 1 - .../ignite/network/scalecube/ItScaleCubeNetworkMessagingTest.java | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-)
[ignite-3] branch ignite-19903 updated (0a9b08e837 -> 30bfabe82a)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19903 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 0a9b08e837 . add 30bfabe82a . No new revisions were added by this update. Summary of changes: .../scalecube/ItScaleCubeNetworkMessagingTest.java | 31 ++ .../recovery/RecoveryClientHandshakeManager.java | 2 +- .../recovery/RecoveryServerHandshakeManager.java | 2 +- .../ignite/network/DefaultMessagingService.java| 5 4 files changed, 33 insertions(+), 7 deletions(-)
[ignite-3] branch ignite-19903 updated (db2de8f949 -> 0a9b08e837)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19903 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from db2de8f949 . add 0a9b08e837 . No new revisions were added by this update. Summary of changes: .../internal/network/netty/ItConnectionManagerTest.java| 14 -- 1 file changed, 8 insertions(+), 6 deletions(-)
[ignite-3] branch ignite-19903 updated (2a1245a125 -> db2de8f949)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19903 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 2a1245a125 . add db2de8f949 . No new revisions were added by this update. Summary of changes: .../ignite/internal/future/OrderingFuture.java | 63 -- .../network/netty/ItConnectionManagerTest.java | 2 +- .../handshake/ChannelAlreadyExistsException.java} | 22 .../network/handshake/HandshakeException.java | 4 +- .../internal/network/netty/ConnectionManager.java | 1 + .../recovery/RecoveryClientHandshakeManager.java | 5 +- .../recovery/RecoveryServerHandshakeManager.java | 2 +- .../ignite/network/DefaultMessagingService.java| 21 +++- 8 files changed, 98 insertions(+), 22 deletions(-) copy modules/{configuration/src/main/java/org/apache/ignite/internal/configuration/util/KeyNotFoundException.java => network/src/main/java/org/apache/ignite/internal/network/handshake/ChannelAlreadyExistsException.java} (66%)
[ignite-3] branch ignite-19903 updated (f84f2ce38e -> 2a1245a125)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19903 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from f84f2ce38e . add 2a1245a125 . No new revisions were added by this update. Summary of changes: .../internal/testframework/IgniteTestUtils.java| 39 ++ .../network/netty/ItConnectionManagerTest.java | 22 .../internal/network/netty/ConnectionManager.java | 13 +++- 3 files changed, 66 insertions(+), 8 deletions(-)
[ignite-3] branch ignite-19903 updated (4f847a5718 -> f84f2ce38e)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19903 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 4f847a5718 . add f84f2ce38e . No new revisions were added by this update. Summary of changes: .../network/netty/ItConnectionManagerTest.java | 91 ++ .../network/netty/ChannelCreationListener.java | 11 --- .../internal/network/netty/ConnectionManager.java | 13 .../netty/DefaultRecoveryDescriptorProvider.java | 14 +--- .../recovery/RecoveryClientHandshakeManager.java | 47 +-- .../network/recovery/RecoveryDescriptor.java | 8 +- .../recovery/RecoveryDescriptorProvider.java | 3 +- .../recovery/RecoveryServerHandshakeManager.java | 50 +--- .../network/netty/RecoveryHandshakeTest.java | 76 +++--- .../network/DefaultMessagingServiceTest.java | 15 +--- 10 files changed, 176 insertions(+), 152 deletions(-)
[ignite-3] branch main updated: IGNITE-19932 Simplify handleChangePendingAssignmentEvent in TableManager (#2299)
This is an automated email from the ASF dual-hosted git repository. sdanilov 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 5b1b2d3b37 IGNITE-19932 Simplify handleChangePendingAssignmentEvent in TableManager (#2299) 5b1b2d3b37 is described below commit 5b1b2d3b37d9b26a8b86358a4e0bac3d4f0d0af0 Author: Roman Puchkovskiy AuthorDate: Fri Jul 7 20:25:40 2023 +0400 IGNITE-19932 Simplify handleChangePendingAssignmentEvent in TableManager (#2299) --- .../internal/table/distributed/TableManager.java | 243 + 1 file changed, 149 insertions(+), 94 deletions(-) diff --git a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java index 2750d3fde8..23ba896aa2 100644 --- a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java +++ b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java @@ -127,6 +127,7 @@ import org.apache.ignite.internal.replicator.ReplicaManager; import org.apache.ignite.internal.replicator.ReplicaService; import org.apache.ignite.internal.replicator.TablePartitionId; import org.apache.ignite.internal.schema.SchemaManager; +import org.apache.ignite.internal.schema.SchemaRegistry; import org.apache.ignite.internal.schema.configuration.ExtendedTableChange; import org.apache.ignite.internal.schema.configuration.GcConfiguration; import org.apache.ignite.internal.schema.configuration.TableChange; @@ -875,39 +876,16 @@ public class TableManager extends Producer imp TxStateStorage txStateStorage = partitionStorages.getTxStateStorage(); try { -replicaMgr.startReplica( +startReplicaWithNewListener( replicaGrpId, -allOf( -((Loza) raftMgr).raftNodeReadyFuture(replicaGrpId), -table.pkIndexesReadyFuture() -), -new PartitionReplicaListener( -partitionStorage, -updatedRaftGroupService, -txManager, -lockMgr, -scanRequestExecutor, -partId, -tableId, -table.indexesLockers(partId), -new Lazy<>( -() -> table.indexStorageAdapters(partId).get().get(table.pkId()) -), -() -> table.indexStorageAdapters(partId).get(), -clock, -safeTimeTracker, -txStateStorage, -placementDriver, - partitionUpdateHandlers.storageUpdateHandler, -new NonHistoricSchemas(schemaManager), - schemaManager.schemaRegistry(causalityToken, tableId), -localNode(), - table.internalTable().storage(), -indexBuilder, -tablesCfg -), +table, +safeTimeTracker, +storageIndexTracker, +partitionStorage, +txStateStorage, +partitionUpdateHandlers, updatedRaftGroupService, -storageIndexTracker + schemaManager.schemaRegistry(causalityToken, tableId) ); } catch (NodeStoppingException ex) { throw new AssertionError("Loza was stopped before Table manager", ex); @@ -949,6 +927,78 @@ public class TableManage
[ignite-3] branch ignite-19903 updated (116b7e6ada -> 4f847a5718)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19903 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 116b7e6ada . add 4f847a5718 . No new revisions were added by this update. Summary of changes: .../org/apache/ignite/internal/network/netty/ConnectionManager.java | 5 + 1 file changed, 1 insertion(+), 4 deletions(-)
[ignite-3] branch ignite-19903 updated (4a3caf722d -> 116b7e6ada)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19903 in repository https://gitbox.apache.org/repos/asf/ignite-3.git omit 4a3caf722d IGNITE-19903 Fix recovery descriptor race condition omit 8cf6931ba6 IGNITE-19903 Fix recovery descriptor race condition add 6c68981750 IGNITE-19906 Check that table exists when going to destroy partition storage (#2281) add 566458faa6 IGNITE-19615: Index is not used while performing SELECT over an indexed column (#2196) add b21f600094 IGNITE-19775 Add index builder to TestBuilders (#2265) add 5646997ae4 IGNITE-17765 Sql. Introduce cache for parsed statements (#2280) add 1801e58cc4 IGNITE-19663 Add possibility to check transaction state (#2279) add 6145deb7d9 IGNITE-19864 Introduce TraceableException (#2287) add 61d3b03382 IGNITE-19756 Java client: fix colocation column order (#2289) add 5bd71009c8 IGNITE-19794 Remove BinaryTuple slicing in ClientMessagePacker (#2290) add 2f66837a6f IGNITE-19644 Change DROP|ADD COLUMN IF (NOT) EXISTS syntax (#2275) add 7263588243 IGNITE-19730 Sql. ExecutionServiceImplTest different tests failed (#2241) add 62d02d7e14 IGNITE-19581 Add restoring of zones state after restart taking into account zone's filter updates (#2288) add 00bbecb8a5 IGNITE-19667 Make ClientTableCommon.readTable async (#2293) add de59bc7fd4 IGNITE-19903 Fix recovery descriptor race condition add 116b7e6ada . This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (4a3caf722d) \ N -- N -- N refs/heads/ignite-19903 (116b7e6ada) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .../apache/ignite/lang/IgniteCheckedException.java | 6 +- .../org/apache/ignite/lang/IgniteException.java| 6 +- .../apache/ignite/lang/IgniteExceptionUtils.java | 25 +- .../internal/client/proto/ClientMessagePacker.java | 15 +- .../handler/ClientInboundMessageHandler.java | 34 +- .../ClientComputeExecuteColocatedRequest.java | 19 +- .../requests/table/ClientSchemasGetRequest.java| 43 ++- .../handler/requests/table/ClientTableCommon.java | 34 +- .../ClientTablePartitionAssignmentGetRequest.java | 23 +- .../table/ClientTupleContainsKeyRequest.java | 19 +- .../table/ClientTupleDeleteAllExactRequest.java| 13 +- .../table/ClientTupleDeleteAllRequest.java | 13 +- .../table/ClientTupleDeleteExactRequest.java | 15 +- .../requests/table/ClientTupleDeleteRequest.java | 15 +- .../requests/table/ClientTupleGetAllRequest.java | 13 +- .../table/ClientTupleGetAndDeleteRequest.java | 13 +- .../table/ClientTupleGetAndReplaceRequest.java | 13 +- .../table/ClientTupleGetAndUpsertRequest.java | 13 +- .../requests/table/ClientTupleGetRequest.java | 13 +- .../table/ClientTupleInsertAllRequest.java | 13 +- .../requests/table/ClientTupleInsertRequest.java | 15 +- .../table/ClientTupleReplaceExactRequest.java | 19 +- .../requests/table/ClientTupleReplaceRequest.java | 15 +- .../table/ClientTupleUpsertAllRequest.java | 13 +- .../requests/table/ClientTupleUpsertRequest.java | 11 +- .../internal/client/sql/ClientAsyncResultSet.java | 4 +- .../ignite/internal/client/table/ClientColumn.java | 43 +-- .../ignite/internal/client/table/ClientSchema.java | 25 +- .../ignite/internal/client/table/ClientTable.java | 22 +- .../org/apache/ignite/client/ClientTupleTest.java | 46 +-- .../ignite/client/PartitionAwarenessTest.java | 12 +- .../ignite/client/fakes/FakeIgniteTables.java | 4 +- .../apache/ignite/internal/util/ArrayUtils.java| 2 +- .../lang/IgniteInternalCheckedException.java | 6 +- .../ignite/lang/IgniteInternalException.java | 6 +- .../apache/ignite/lang/TraceableException.java}| 38 +- .../distributionzones/DistributionZoneManager.java | 99 - .../distributionzones/DistributionZonesUtil.java | 19 + .../rebalance/DistributionZoneRebalanceEngine.java | 9 +- .../DistributionZoneManagerAlterFilterTest.java| 50 +-- .../DistributionZoneManagerFilterTest.java | 29 +- .../DistributionZonesTestUtil.java | 10 +- .../internal/network/netty/ConnectionManager.java | 30 +- .../recovery/RecoveryClientHandshakeManager.java
[ignite-3] branch ignite-19778 updated (61822fd41c -> 6c7fc104a0)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git omit 61822fd41c IGNITE-19778 Review fixes omit 8c260cf214 IGNITE-19778 Review fixes omit 1c5844888d IGNITE-19778 Review fixes omit 894afb9160 . omit 1472d25d98 . omit a3d2cf677d . omit dac237a05b IGNITE-19778 omit 7f96ea46e0 IGNITE-19778 omit e348f5b4a7 IGNITE-19778 omit 062b524a96 IGNITE-19778 omit 8bc689a87e IGNITE-19778 omit d5f4d19dc3 IGNITE-19778 omit 120878c27c IGNITE-19778 omit cc7bca57a9 IGNITE-19778 omit f7645dd2ee IGNITE-19778 omit 5f7dacab9d IGNITE-19778 omit 8d92334810 IGNITE-19778 omit 859d9dcb68 IGNITE-19778 Initial add bbc2a02344 IGNITE-19666 Remove nullmaps from binary tuples (#2256) add 468af9ef34 IGNITE-19827 Java client: fix partition awareness node ids (#2276) add 502f5cf395 IGNITE-19393 Java thin 3.0: testAccessLockedKeyTimesOut is flaky (#2258) add dd43ca578e IGNITE-19892 Fix catalog module dependencies (#2274) add f12bbb07d5 IGNITE-19808 .NET: Fix TestHandshakesFailedTimeout flakiness (#2277) add 6c68981750 IGNITE-19906 Check that table exists when going to destroy partition storage (#2281) add 566458faa6 IGNITE-19615: Index is not used while performing SELECT over an indexed column (#2196) add b21f600094 IGNITE-19775 Add index builder to TestBuilders (#2265) add 5646997ae4 IGNITE-17765 Sql. Introduce cache for parsed statements (#2280) add 1801e58cc4 IGNITE-19663 Add possibility to check transaction state (#2279) add 6145deb7d9 IGNITE-19864 Introduce TraceableException (#2287) add 61d3b03382 IGNITE-19756 Java client: fix colocation column order (#2289) add 5bd71009c8 IGNITE-19794 Remove BinaryTuple slicing in ClientMessagePacker (#2290) add 2f66837a6f IGNITE-19644 Change DROP|ADD COLUMN IF (NOT) EXISTS syntax (#2275) add 7263588243 IGNITE-19730 Sql. ExecutionServiceImplTest different tests failed (#2241) add 62d02d7e14 IGNITE-19581 Add restoring of zones state after restart taking into account zone's filter updates (#2288) add a5af5f3a46 IGNITE-19778 Initial add f926bb14d1 IGNITE-19778 add 0d2c60213f IGNITE-19778 add 4463ad71f4 IGNITE-19778 add 9cb47fa014 IGNITE-19778 add 37860bf289 IGNITE-19778 add 5b0beaa208 IGNITE-19778 add 5ecae80ac8 IGNITE-19778 add 67e5121fbf IGNITE-19778 add 808d0f0cdb IGNITE-19778 add 75c6f48b6a IGNITE-19778 add d38f2e0cdd IGNITE-19778 add 2b3c39fbd6 . add 21d346c96b . add bdf5ff9177 . add eb2d457a9c IGNITE-19778 Review fixes add 2e852fe634 IGNITE-19778 Review fixes add 6c7fc104a0 IGNITE-19778 Review fixes This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (61822fd41c) \ N -- N -- N refs/heads/ignite-19778 (6c7fc104a0) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .../apache/ignite/lang/IgniteCheckedException.java | 6 +- .../org/apache/ignite/lang/IgniteException.java| 6 +- .../apache/ignite/lang/IgniteExceptionUtils.java | 25 +- .../internal/binarytuple/BinaryTupleBuilder.java | 212 +++-- .../internal/binarytuple/BinaryTupleCommon.java| 65 +-- .../internal/binarytuple/BinaryTupleParser.java| 128 +++--- .../binarytuple/BinaryTuplePrefixBuilder.java | 4 +- .../internal/binarytuple/BinaryTupleReader.java| 76 ++-- .../internal/binarytuple/BinaryTupleTest.java | 175 +++- modules/catalog/build.gradle | 3 - .../internal/client/proto/ClientMessagePacker.java | 19 +- .../handler/ClientInboundMessageHandler.java | 10 +- .../handler/requests/sql/ClientSqlCommon.java | 2 +- .../handler/requests/table/ClientTableCommon.java | 16 +- .../ignite/internal/client/ReliableChannel.java| 46 +- .../internal/client/compute/ClientCompute.java | 2 +- .../internal/client/sql/ClientAsyncResultSet.java | 4 +- .../ignite/internal/client/sql/ClientSession.java | 2 +- .../ignite/internal/client/table/ClientColumn.java | 43 +- .../client/table/ClientKeyValueBinaryView.java | 4 +-
[ignite-3] branch ignite-19778 updated: IGNITE-19778 Review fixes
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a commit to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git The following commit(s) were added to refs/heads/ignite-19778 by this push: new 61822fd41c IGNITE-19778 Review fixes 61822fd41c is described below commit 61822fd41c9e07bf049fbc661ff52198fa8133f4 Author: Semyon Danilov AuthorDate: Thu Jul 6 13:42:32 2023 +0400 IGNITE-19778 Review fixes --- .../storage/DistributedConfigurationStorage.java | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/runner/src/main/java/org/apache/ignite/internal/configuration/storage/DistributedConfigurationStorage.java b/modules/runner/src/main/java/org/apache/ignite/internal/configuration/storage/DistributedConfigurationStorage.java index 74c7116ba8..71e79ff9ab 100644 --- a/modules/runner/src/main/java/org/apache/ignite/internal/configuration/storage/DistributedConfigurationStorage.java +++ b/modules/runner/src/main/java/org/apache/ignite/internal/configuration/storage/DistributedConfigurationStorage.java @@ -96,10 +96,10 @@ public class DistributedConfigurationStorage implements ConfigurationStorage { * Given that {@link #MASTER_KEY} is updated on every configuration change, one could assume that {@code changeId} matches the * revision of {@link #MASTER_KEY}. * - * This is true for all cases except for node restart. Key-specific revision values are lost on local vault copy after restart, so - * stored {@link MetaStorageManager#appliedRevision} value is used instead. This fact has very important side effect: it's no longer - * possible to use {@link ConditionType#REV_EQUAL} on {@link #MASTER_KEY} in {@link DistributedConfigurationStorage#write(Map, long)}. - * {@link ConditionType#REV_LESS_OR_EQUAL} must be used instead. + * This is true for all cases except for node restart. We use latest values after restart, so MetaStorage's local revision is used + * instead. This fact has very important side effect: it's no longer possible to use {@link ConditionType#REV_EQUAL} on + * {@link #MASTER_KEY} in {@link DistributedConfigurationStorage#write(Map, long)}. {@link ConditionType#REV_LESS_OR_EQUAL} must be + * used instead. * * @see #MASTER_KEY * @see #write(Map, long) @@ -277,14 +277,14 @@ public class DistributedConfigurationStorage implements ConfigurationStorage { // - Current node has been restarted and received updates from MetaStorage watch listeners after that. Same as //above, "curChangeId" must match the MASTER_KEY revision exactly. // - Current node has been restarted and have not received any updates from MetaStorage watch listeners yet. -//In this case "curChangeId" matches APPLIED_REV, which may or may not match the MASTER_KEY revision. Two +//In this case "curChangeId" matches MetaStorage's local revision, which may or may not match the MASTER_KEY revision. Two //options here: // - MASTER_KEY is missing in local MetaStorage copy. This means that current node have not performed nor // observed any configuration changes. Valid condition is "MASTER_KEY does not exist". // - MASTER_KEY is present in local MetaStorage copy. The MASTER_KEY revision is unknown but is less than or -// equal to APPLIED_REV. Obviously, there have been no updates from the future yet. It's also guaranteed +// equal to MetaStorage's local revision. Obviously, there have been no updates from the future yet. It's also guaranteed // that the next received configuration update will have the MASTER_KEY revision strictly greater than -// current APPLIED_REV. This allows to conclude that "MASTER_KEY revision <= curChangeId" is a valid +// current MetaStorage's local revision. This allows to conclude that "MASTER_KEY revision <= curChangeId" is a valid // condition for update. // Joining all of the above, it's concluded that the following condition must be used: Condition condition = curChangeId == 0L
[ignite-3] branch ignite-19778 updated (1c5844888d -> 8c260cf214)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 1c5844888d IGNITE-19778 Review fixes add 8c260cf214 IGNITE-19778 Review fixes No new revisions were added by this update. Summary of changes: .../apache/ignite/internal/metastorage/MetaStorageManager.java | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-)
[ignite-3] branch ignite-19778 updated (894afb9160 -> 1c5844888d)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 894afb9160 . add 1c5844888d IGNITE-19778 Review fixes No new revisions were added by this update. Summary of changes: .../internal/metastorage/MetaStorageManager.java | 10 -- .../metastorage/impl/ItMetaStorageWatchTest.java | 9 ++--- .../metastorage/impl/MetaStorageManagerImpl.java | 4 +-- .../ignite/internal/BaseIgniteRestartTest.java | 10 +++--- .../storage/ItRebalanceDistributedTest.java| 38 ++ .../org/apache/ignite/internal/app/IgniteImpl.java | 2 +- .../storage/DistributedConfigurationStorage.java | 23 +++-- .../internal/table/distributed/TableManager.java | 2 ++ 8 files changed, 46 insertions(+), 52 deletions(-)
[ignite-3] branch ignite-19903 updated (8cf6931ba6 -> 4a3caf722d)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19903 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 8cf6931ba6 IGNITE-19903 Fix recovery descriptor race condition add 4a3caf722d IGNITE-19903 Fix recovery descriptor race condition No new revisions were added by this update. Summary of changes: .../network/netty/ChannelCreationListener.java}| 26 .../internal/network/netty/ConnectionManager.java | 17 +++--- .../recovery/RecoveryClientHandshakeManager.java | 32 +- .../network/recovery/RecoveryDescriptor.java | 8 ++- .../recovery/RecoveryServerHandshakeManager.java | 69 +- .../internal/network/netty/NettyServerTest.java| 5 +- .../network/netty/RecoveryHandshakeTest.java | 14 - .../placementdriver/leases/LeaseTracker.java | 1 - 8 files changed, 122 insertions(+), 50 deletions(-) copy modules/{core/src/main/java/org/apache/ignite/internal/streamer/StreamerPartitionAwarenessProvider.java => network/src/main/java/org/apache/ignite/internal/network/netty/ChannelCreationListener.java} (60%)
[ignite-3] 01/01: IGNITE-19903 Fix recovery descriptor race condition
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a commit to branch ignite-19903 in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit 8cf6931ba63a983f0c2c388614c795300c14d0e0 Author: Semyon Danilov AuthorDate: Tue Jul 4 01:23:40 2023 +0400 IGNITE-19903 Fix recovery descriptor race condition --- .../internal/network/netty/ConnectionManager.java | 16 +++-- .../network/netty/InboundRecoveryHandler.java | 8 + .../ignite/internal/network/netty/NettySender.java | 9 +++-- .../ignite/internal/network/netty/NettyServer.java | 8 - .../recovery/RecoveryClientHandshakeManager.java | 8 +++-- .../network/recovery/RecoveryDescriptor.java | 27 ++ .../recovery/RecoveryServerHandshakeManager.java | 41 +++--- .../internal/network/netty/NettyServerTest.java| 3 -- .../network/netty/RecoveryHandshakeTest.java | 2 +- 9 files changed, 91 insertions(+), 31 deletions(-) diff --git a/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java b/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java index 371c295e48..38acade52e 100644 --- a/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java +++ b/modules/network/src/main/java/org/apache/ignite/internal/network/netty/ConnectionManager.java @@ -17,6 +17,7 @@ package org.apache.ignite.internal.network.netty; +import static org.apache.ignite.internal.network.netty.NettyUtils.toCompletableFuture; import static org.apache.ignite.network.ChannelType.getChannel; import io.netty.bootstrap.Bootstrap; @@ -165,7 +166,6 @@ public class ConnectionManager { this.server = new NettyServer( networkConfiguration, this::createServerHandshakeManager, -this::onNewIncomingChannel, this::onMessage, serializationService, bootstrapFactory @@ -272,6 +272,17 @@ public class ConnectionManager { } } +private CompletableFuture notifyInboundChannelCreation(String consistentId, short channelId) { +ConnectorKey key = new ConnectorKey<>(consistentId, getChannel(channelId)); +NettySender oldChannel = channels.get(key); + +if (oldChannel != null) { +return toCompletableFuture(oldChannel.close()); +} + +return CompletableFuture.completedFuture(null); +} + /** * Create new client from this node to specified address. * @@ -353,7 +364,8 @@ public class ConnectionManager { } private HandshakeManager createServerHandshakeManager() { -return new RecoveryServerHandshakeManager(launchId, consistentId, FACTORY, descriptorProvider, staleIdDetector); +return new RecoveryServerHandshakeManager(launchId, consistentId, FACTORY, descriptorProvider, staleIdDetector, +this::notifyInboundChannelCreation); } /** diff --git a/modules/network/src/main/java/org/apache/ignite/internal/network/netty/InboundRecoveryHandler.java b/modules/network/src/main/java/org/apache/ignite/internal/network/netty/InboundRecoveryHandler.java index 348bde848c..92d50d1749 100644 --- a/modules/network/src/main/java/org/apache/ignite/internal/network/netty/InboundRecoveryHandler.java +++ b/modules/network/src/main/java/org/apache/ignite/internal/network/netty/InboundRecoveryHandler.java @@ -25,6 +25,7 @@ import org.apache.ignite.internal.network.recovery.RecoveryDescriptor; import org.apache.ignite.internal.network.recovery.message.AcknowledgementMessage; import org.apache.ignite.network.NetworkMessage; import org.apache.ignite.network.OutNetworkObject; +import org.jetbrains.annotations.NotNull; /** * Inbound handler that handles incoming acknowledgement messages and sends acknowledgement messages for other messages. @@ -69,4 +70,11 @@ public class InboundRecoveryHandler extends ChannelInboundHandlerAdapter { super.channelRead(ctx, message); } + +@Override +public void channelInactive(@NotNull ChannelHandlerContext ctx) throws Exception { +descriptor.release(ctx); + +super.channelInactive(ctx); +} } diff --git a/modules/network/src/main/java/org/apache/ignite/internal/network/netty/NettySender.java b/modules/network/src/main/java/org/apache/ignite/internal/network/netty/NettySender.java index 2294646d60..f6415cd4c8 100644 --- a/modules/network/src/main/java/org/apache/ignite/internal/network/netty/NettySender.java +++ b/modules/network/src/main/java/org/apache/ignite/internal/network/netty/NettySender.java @@ -20,6 +20,7 @@ package org.apache.ignite.internal.network.netty; import static org.apache.ignite.internal.network.netty.NettyUtils.toCompletableFuture; import io.netty.channel.Channel; +import io.netty.channel.ChannelFuture;
[ignite-3] branch ignite-19903 created (now 8cf6931ba6)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19903 in repository https://gitbox.apache.org/repos/asf/ignite-3.git at 8cf6931ba6 IGNITE-19903 Fix recovery descriptor race condition This branch includes the following new commits: new 8cf6931ba6 IGNITE-19903 Fix recovery descriptor race condition The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[ignite-3] branch ignite-19778 updated (1472d25d98 -> 894afb9160)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 1472d25d98 . add 894afb9160 . No new revisions were added by this update. Summary of changes: .../ignite/internal/configuration/ConfigurationChanger.java | 4 +--- modules/core/src/main/java/org/apache/ignite/lang/ByteArray.java | 3 +++ .../apache/ignite/internal/metastorage/MetaStorageManager.java | 9 + .../apache/ignite/internal/table/distributed/TableManager.java | 2 ++ 4 files changed, 15 insertions(+), 3 deletions(-)
[ignite-3] branch ignite-19778 updated (a3d2cf677d -> 1472d25d98)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from a3d2cf677d . add 1472d25d98 . No new revisions were added by this update. Summary of changes: .../org/apache/ignite/internal/table/distributed/TableManager.java| 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
[ignite-3] branch ignite-19778 updated (dac237a05b -> a3d2cf677d)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from dac237a05b IGNITE-19778 add a3d2cf677d . No new revisions were added by this update. Summary of changes: .../internal/configuration/storage/ItRebalanceDistributedTest.java | 1 + 1 file changed, 1 insertion(+)
[ignite-3] branch ignite-19778 updated (7f96ea46e0 -> dac237a05b)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 7f96ea46e0 IGNITE-19778 add dac237a05b IGNITE-19778 No new revisions were added by this update. Summary of changes: .../internal/configuration/storage/ItRebalanceDistributedTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[ignite-3] branch ignite-19778 updated (e348f5b4a7 -> 7f96ea46e0)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from e348f5b4a7 IGNITE-19778 add 7f96ea46e0 IGNITE-19778 No new revisions were added by this update. Summary of changes: .../internal/configuration/storage/ItRebalanceDistributedTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[ignite-3] branch ignite-19778 updated (062b524a96 -> e348f5b4a7)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 062b524a96 IGNITE-19778 add e348f5b4a7 IGNITE-19778 No new revisions were added by this update. Summary of changes: .../metastorage/impl/ItMetaStorageSafeTimePropagationAbstractTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[ignite-3] branch ignite-19778 updated (10794506c8 -> 062b524a96)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git discard 10794506c8 IGNITE-19778 discard 1bab5379af IGNITE-19778 discard 4a399e0970 IGNITE-19778 discard 807ee08ef1 IGNITE-19778 discard 040c7c83b6 IGNITE-19778 discard 6a63bcc353 IGNITE-19778 discard 14499ce82a IGNITE-19778 discard 9622a19082 IGNITE-19778 Initial add 5fbd2f54a1 IGNITE-19726 Sql. Migrate index operations to ScannableTable (#2199). add 2690ecda30 IGNITE-19798 Add functionality to the catalog to switch the IndexManager to catalog events (#2247) add 947710c52c IGNITE-19826 .NET: Fix partition awareness node ids (#2268) add a7f684029d IGNITE-19843 Unify code that triggers rebalance (#2263) add b6004047b3 IGNITE-19199 Propagate safe time when Meta Storage is idle (#2239) add e9cbb47621 IGNITE-19885 Simplify handleChangeStableAssignmentEvent in TableManager (#2270) add 1c968b377b IGNITE-19857 Default zone replica count is not listened by rebalance trigger (#2264) add 002cd378a6 IGNITE-19891 Fix Swagger-related compilation warnings (#2272) add 859d9dcb68 IGNITE-19778 Initial add 8d92334810 IGNITE-19778 add 5f7dacab9d IGNITE-19778 add f7645dd2ee IGNITE-19778 add cc7bca57a9 IGNITE-19778 add 120878c27c IGNITE-19778 add d5f4d19dc3 IGNITE-19778 add 8bc689a87e IGNITE-19778 add 062b524a96 IGNITE-19778 This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (10794506c8) \ N -- N -- N refs/heads/ignite-19778 (062b524a96) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .../ignite/internal/catalog/CatalogService.java| 2 + .../internal/catalog/CatalogServiceImpl.java | 46 +- .../catalog/events/AddColumnEventParameters.java | 10 +- .../catalog/events/AlterColumnEventParameters.java | 5 +- .../catalog/events/AlterZoneEventParameters.java | 5 +- .../catalog/events/CatalogEventParameters.java | 14 +- .../catalog/events/CreateIndexEventParameters.java | 5 +- .../catalog/events/CreateTableEventParameters.java | 5 +- .../catalog/events/CreateZoneEventParameters.java | 5 +- .../catalog/events/DropColumnEventParameters.java | 5 +- .../catalog/events/DropIndexEventParameters.java | 14 +- .../catalog/events/DropTableEventParameters.java | 5 +- .../catalog/events/DropZoneEventParameters.java| 5 +- .../internal/catalog/storage/AlterColumnEntry.java | 4 +- .../internal/catalog/storage/AlterZoneEntry.java | 4 +- .../internal/catalog/storage/DropColumnsEntry.java | 4 +- .../internal/catalog/storage/DropIndexEntry.java | 15 +- .../internal/catalog/storage/DropTableEntry.java | 4 +- .../internal/catalog/storage/DropZoneEntry.java| 4 +- .../ignite/internal/catalog/storage/Fireable.java | 3 +- .../internal/catalog/storage/NewColumnsEntry.java | 4 +- .../internal/catalog/storage/NewIndexEntry.java| 4 +- .../internal/catalog/storage/NewTableEntry.java| 4 +- .../internal/catalog/storage/NewZoneEntry.java | 4 +- .../ignite/internal/catalog/storage/UpdateLog.java | 3 +- .../internal/catalog/storage/UpdateLogImpl.java| 6 +- .../internal/catalog/CatalogServiceSelfTest.java | 171 +++- .../catalog/storage/UpdateLogImplTest.java | 49 +- modules/cli/build.gradle | 2 + .../repl/executor/ItIgnitePicocliCommandsTest.java | 31 +- .../util/subscription/TransformingPublisher.java | 73 ++ .../subscription/TransformingPublisherTest.java| 112 +++ .../rebalance/DistributionZoneRebalanceEngine.java | 208 ++--- .../distributionzones/rebalance/RebalanceUtil.java | 89 +- .../DistributionZoneRebalanceEngineTest.java | 139 ++- .../RebalanceUtilUpdateAssignmentsTest.java| 7 +- modules/metastorage-api/build.gradle | 4 + .../MetaStorageConfigurationModule.java} | 10 +- .../MetaStorageConfigurationSchema.java} | 18 +- modules/metastorage/build.gradle | 5 + .../impl/ItMetaStorageManagerImplTest.java | 32 +- .../ItMetaStorageMultipleNodesAbstractTest.java| 147 +++- ...MetaStorageSafeTimePropagationAbstractTest.jav
[ignite-3] branch ignite-19778 updated (1bab5379af -> 10794506c8)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 1bab5379af IGNITE-19778 add 10794506c8 IGNITE-19778 No new revisions were added by this update. Summary of changes: .../configuration/storage/DistributedConfigurationStorage.java | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-)
[ignite-3] branch ignite-19778 updated (4a399e0970 -> 1bab5379af)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 4a399e0970 IGNITE-19778 add 1bab5379af IGNITE-19778 No new revisions were added by this update. Summary of changes: .../org/apache/ignite/internal/catalog/storage/UpdateLogImpl.java | 2 +- .../ignite/internal/distributionzones/DistributionZoneManager.java| 2 +- .../org/apache/ignite/internal/metastorage/MetaStorageManager.java| 2 +- .../ignite/internal/metastorage/impl/MetaStorageManagerImpl.java | 4 ++-- .../apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java| 2 +- 5 files changed, 6 insertions(+), 6 deletions(-)
[ignite-3] branch ignite-19778 updated (807ee08ef1 -> 4a399e0970)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 807ee08ef1 IGNITE-19778 add 4a399e0970 IGNITE-19778 No new revisions were added by this update. Summary of changes: .../zones/ItIgniteDistributionZoneManagerNodeRestartTest.java| 1 - .../org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java | 1 - 2 files changed, 2 deletions(-)
[ignite-3] branch ignite-19778 updated (040c7c83b6 -> 807ee08ef1)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 040c7c83b6 IGNITE-19778 add 807ee08ef1 IGNITE-19778 No new revisions were added by this update. Summary of changes: .../ignite/internal/BaseIgniteRestartTest.java | 58 +- ...niteDistributionZoneManagerNodeRestartTest.java | 2 - .../runner/app/ItIgniteNodeRestartTest.java| 4 - .../recovery/ConfigurationCatchUpListener.java | 117 - .../recovery/RecoveryCompletionFutureFactory.java | 51 - 5 files changed, 2 insertions(+), 230 deletions(-) delete mode 100644 modules/runner/src/main/java/org/apache/ignite/internal/recovery/ConfigurationCatchUpListener.java delete mode 100644 modules/runner/src/main/java/org/apache/ignite/internal/recovery/RecoveryCompletionFutureFactory.java
[ignite-3] branch ignite-19778 updated (6a63bcc353 -> 040c7c83b6)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 6a63bcc353 IGNITE-19778 add 040c7c83b6 IGNITE-19778 No new revisions were added by this update. Summary of changes: .../ItDistributedConfigurationPropertiesTest.java| 2 +- .../storage/ItRebalanceDistributedTest.java | 16 2 files changed, 9 insertions(+), 9 deletions(-)
[ignite-3] branch ignite-19778 updated (b3dcc174f2 -> 6a63bcc353)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git discard b3dcc174f2 IGNITE-19778 Initial add c2d558e8c6 IGNITE-19851 Add MetaStorage revision update listeners and use instead of configuration revision update listeners (#2261) add e302bf2f1f IGNITE-19580 Add restoring of zones state after restart (#2253) add 1f61771f70 IGNITE-17770 Fix ItIgniteNodeRestartTest.testCfgGap (#2224) add 2241692cb2 IGNITE-19668 Sql. Fix testLengthExpressionWithDynamicParameter (#2223) add e65f5cf532 IGNITE-19539 Add exception mapper utility (#2225) add 9995443666 IGNITE-19353: Sql. Incorrect type conversion for dynamic parameters - CAST operation ignores type precision. (#2220) add 9622a19082 IGNITE-19778 Initial add 14499ce82a IGNITE-19778 add 6a63bcc353 IGNITE-19778 This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (b3dcc174f2) \ N -- N -- N refs/heads/ignite-19778 (6a63bcc353) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: modules/api/build.gradle | 3 + .../apache/ignite/lang/IgniteExceptionMapper.java | 95 +++ .../ignite/lang/IgniteExceptionMapperUtil.java | 140 +++ .../lang/IgniteExceptionMappersProvider.java | 48 .../apache/ignite/lang/IgniteExceptionUtils.java | 12 +- .../java/org/apache/ignite/tx/Transaction.java | 4 +- .../ignite/lang/IgniteExceptionMapperUtilTest.java | 204 +++ .../lang/TestIgniteExceptionMappersProvider.java | 52 .../ignite/configuration/ConfigurationModule.java | 2 +- .../configuration/ConfigurationChanger.java| 4 +- .../ConfigurationStorageRevisionListener.java | 1 + .../InjectRevisionListenerHolder.java | 1 + .../distributionzones/DistributionZoneManager.java | 273 +++-- .../distributionzones/DistributionZonesUtil.java | 25 +- .../BaseDistributionZoneManagerTest.java | 2 +- .../DistributionZoneManagerScaleUpTest.java| 4 +- .../internal/metastorage/MetaStorageManager.java | 6 + .../metastorage/RevisionUpdateListener.java} | 19 +- .../ignite/internal/metastorage/WatchListener.java | 1 + .../impl/ItMetaStorageManagerImplTest.java | 102 +++- ...MetaStorageSafeTimePropagationAbstractTest.java | 2 +- .../metastorage/impl/ItMetaStorageWatchTest.java | 9 +- .../metastorage/impl/MetaStorageManagerImpl.java | 16 ++ .../metastorage/server/KeyValueStorage.java| 10 + .../metastorage/server/WatchAndEvents.java}| 19 +- .../metastorage/server/WatchProcessor.java | 155 .../server/persistence/RocksDbKeyValueStorage.java | 18 ++ .../server/raft/MetaStorageWriteHandler.java | 4 +- .../server/BasicOperationsKeyValueStorageTest.java | 6 +- .../metastorage/server/WatchProcessorTest.java | 2 - .../server/SimpleInMemoryKeyValueStorage.java | 18 ++ .../ItDistributedConfigurationPropertiesTest.java | 2 +- .../ItDistributedConfigurationStorageTest.java | 2 +- .../storage/ItRebalanceDistributedTest.java| 101 ++-- ...niteDistributionZoneManagerNodeRestartTest.java | 186 +- .../runner/app/ItIgniteNodeRestartTest.java| 26 +- .../internal/sql/engine/ItDataTypesTest.java | 268 .../sql/engine/ItDynamicParameterTest.java | 57 +++-- .../varbinary/ItVarBinaryExpressionTest.java | 33 ++- .../org/apache/ignite/internal/app/IgniteImpl.java | 26 +- .../storage/DistributedConfigurationStorage.java | 16 +- .../DistributedConfigurationCatchUpTest.java | 244 -- .../DistributedConfigurationStorageTest.java | 8 +- .../sql/engine/exec/exp/IgniteSqlFunctions.java| 84 +-- .../internal/sql/engine/exec/exp/RexImpTable.java | 2 + .../sql/engine/prepare/IgniteConvertletTable.java | 3 - .../sql/engine/sql/IgniteSqlDecimalLiteral.java| 20 +- .../sql/engine/sql/fun/IgniteSqlOperatorTable.java | 2 +- .../internal/sql/engine/util/IgniteMethod.java | 2 + .../engine/exec/exp/IgniteSqlFunctionsTest.java| 73 ++ .../engine/sql/IgniteSqlDecimalLiteralTest.java| 30 +++ .../intern
[ignite-3] 01/01: IGNITE-19778 Initial
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a commit to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit b3dcc174f20c75d839957cca3e6d7c53b3c30232 Author: Semyon Danilov AuthorDate: Wed Jun 28 18:51:26 2023 +0400 IGNITE-19778 Initial --- .../configuration/ConfigurationChanger.java| 40 +- .../storage/ConfigurationStorage.java | 11 --- .../storage/TestConfigurationStorage.java | 6 -- .../java/org/apache/ignite/lang/ByteArray.java | 4 + .../internal/metastorage/MetaStorageManager.java | 3 + .../metastorage/impl/MetaStorageManagerImpl.java | 32 .../server/persistence/RocksDbKeyValueStorage.java | 4 +- .../server/SimpleInMemoryKeyValueStorage.java | 4 +- .../ItDistributedConfigurationStorageTest.java | 1 - .../org/apache/ignite/internal/app/IgniteImpl.java | 10 +-- .../storage/DistributedConfigurationStorage.java | 88 -- .../storage/LocalConfigurationStorage.java | 7 -- .../storage/LocalFileConfigurationStorage.java | 5 -- 13 files changed, 57 insertions(+), 158 deletions(-) diff --git a/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/ConfigurationChanger.java b/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/ConfigurationChanger.java index fa1e4bd7e6..6b115f5995 100644 --- a/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/ConfigurationChanger.java +++ b/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/ConfigurationChanger.java @@ -644,28 +644,24 @@ public abstract class ConfigurationChanger implements DynamicConfigurationChange rwLock.writeLock().unlock(); } -// Save revisions for recovery. -return storage.writeConfigurationRevision(oldStorageRoots.version, newStorageRoots.version) -.thenCompose(unused -> { -long notificationNumber = notificationListenerCnt.incrementAndGet(); - -CompletableFuture notificationFuture; - -if (dataValuesPrefixMap.isEmpty()) { -notificationFuture = configurationUpdateListener.onRevisionUpdated(newChangeId, notificationNumber); -} else { -notificationFuture = configurationUpdateListener -.onConfigurationUpdated(oldSuperRoot, newSuperRoot, newChangeId, notificationNumber); -} - -return notificationFuture.whenComplete((v, t) -> { -if (t == null) { - oldStorageRoots.changeFuture.complete(null); -} else { - oldStorageRoots.changeFuture.completeExceptionally(t); -} -}); -}); +long notificationNumber = notificationListenerCnt.incrementAndGet(); + +CompletableFuture notificationFuture; + +if (dataValuesPrefixMap.isEmpty()) { +notificationFuture = configurationUpdateListener.onRevisionUpdated(newChangeId, notificationNumber); +} else { +notificationFuture = configurationUpdateListener +.onConfigurationUpdated(oldSuperRoot, newSuperRoot, newChangeId, notificationNumber); +} + +return notificationFuture.whenComplete((v, t) -> { +if (t == null) { +oldStorageRoots.changeFuture.complete(null); +} else { +oldStorageRoots.changeFuture.completeExceptionally(t); +} +}); } @Override diff --git a/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/storage/ConfigurationStorage.java b/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/storage/ConfigurationStorage.java index e31f7d4e33..d9663eb284 100644 --- a/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/storage/ConfigurationStorage.java +++ b/modules/configuration/src/main/java/org/apache/ignite/internal/configuration/storage/ConfigurationStorage.java @@ -79,17 +79,6 @@ public interface ConfigurationStorage extends ManuallyCloseable { */ CompletableFuture lastRevision(); -/** - * Writes previous and current configuration's MetaStorage revision for recovery. - * We need previous and current for the fail-safety: in case if node fails before changing master key on configuration update, - * MetaSto
[ignite-3] branch ignite-19778 created (now b3dcc174f2)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19778 in repository https://gitbox.apache.org/repos/asf/ignite-3.git at b3dcc174f2 IGNITE-19778 Initial This branch includes the following new commits: new b3dcc174f2 IGNITE-19778 Initial The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[ignite-3] branch ignite-16562 deleted (was 8ec0ac4561)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-16562 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 8ec0ac4561 IGNITE-16562 . This change permanently discards the following revisions: discard 8ec0ac4561 IGNITE-16562 .
[ignite-3] branch ignite-17923 deleted (was 4c91d1bfa6)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-17923 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 4c91d1bfa6 IGNITE-17923 Remove PartitionStorage and its tests The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-17792 deleted (was 1fc8b987f2)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-17792 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 1fc8b987f2 IGNITE-17792 Fix review comments The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-16684 deleted (was a1cfe74fe4)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-16684 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was a1cfe74fe4 test This change permanently discards the following revisions: discard a1cfe74fe4 test discard 50f32415ef test
[ignite-3] branch ignite-17574 deleted (was 7a9fd45113)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-17574 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 7a9fd45113 Fix eof The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-15655-tc deleted (was 84196ca1cc)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-15655-tc in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 84196ca1cc . This change permanently discards the following revisions: discard 84196ca1cc . discard 75882232c8 . discard 76545b3de1 .. discard c79218890b . discard 13558e . discard 83759db871 Fix styles discard 29e2881297 . discard 84e4140d31 . discard 695dd29876 . discard c688fd381f . discard 4111304e30 . discard 74da8a12d7 IGNITE-15655 remove wrong changes discard d1179a38e7 IGNITE-15655 enable all tests
[ignite-3] branch ignite-18446 deleted (was f543213623)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-18446 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was f543213623 . The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-17196 deleted (was 5244e3714f)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-17196 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 5244e3714f Fix review The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-19437 deleted (was 107568aad7)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19437 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 107568aad7 IGNITE-19437 Add nullable checks for generated messages The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-18739 deleted (was b64b0001a2)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-18739 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was b64b0001a2 Review fixes 3 The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-18007 deleted (was 6b45066ac0)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-18007 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 6b45066ac0 More and more review fixes The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-18033 deleted (was 1cc4b4a742)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-18033 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 1cc4b4a742 More fixes The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-18017 deleted (was adc7ce8d5d)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-18017 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was adc7ce8d5d IGNITE-18017 Final fixes The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-19363 deleted (was 92625e9433)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19363 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 92625e9433 Add test and review fixes The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-14734 deleted (was 7ab6fb4522)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-14734 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 7ab6fb4522 More and more review fixes The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-17720 deleted (was 0edf39ac3d)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-17720 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 0edf39ac3d IGNITE-17720 Add clarifying docs The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-16393 deleted (was 6bf4aeee35)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-16393 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 6bf4aeee35 . The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-18013 deleted (was fed3e14d27)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-18013 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was fed3e14d27 IGNITE-18013 Unmute tests after IGNITE-17968 The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-19362 deleted (was ba47540664)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19362 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was ba47540664 Review fix The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-18738 deleted (was 0d50c435de)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-18738 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 0d50c435de Review fixes The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-18970 deleted (was 3c3a35bdd7)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-18970 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 3c3a35bdd7 IGNITE-18970 Allow WorkDirectoryExtension to preserve work directories of specific tests The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-19220 deleted (was 5af65571d8)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19220 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 5af65571d8 Update MessageImplGenerator.java The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-19028 deleted (was cb90635aa9)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19028 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was cb90635aa9 Review fixes 10.04.2023 (after merge) The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-19777 deleted (was 67c8b123f2)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 67c8b123f2 Review fixes 3 The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-19532 deleted (was 2ae3cbddaf)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19532 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was 2ae3cbddaf IGNITE-19532 Review fixes The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-19070 deleted (was b219e96089)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19070 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was b219e96089 IGNITE-19070 Remove stale TODO The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-17968 deleted (was b84c24a1bd)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-17968 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was b84c24a1bd IGNITE-17968 Review fixes The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch ignite-17954 deleted (was f467d058f1)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-17954 in repository https://gitbox.apache.org/repos/asf/ignite-3.git was f467d058f1 IGNITE-17954 Suppress jraft The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[ignite-3] branch main updated (b71a2674cc -> 28b4ac4019)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/ignite-3.git from b71a2674cc IGNITE-19689 Fix ItClusterManagerTest.testClusterConfigurationIsRemovedFromClusterStateAfterUpdating (#2250) add 28b4ac4019 IGNITE-19777 Perform local metastorage recovery (#2237) No new revisions were added by this update. Summary of changes: .../distributionzones/DistributionZoneManager.java | 1 - .../internal/metastorage/MetaStorageManager.java | 6 + ...MetaStorageSafeTimePropagationAbstractTest.java | 2 +- ...Command.java => GetCurrentRevisionCommand.java} | 13 +- .../command/MetastorageCommandsMessageGroup.java | 8 +- .../metastorage/impl/MetaStorageManagerImpl.java | 87 +- .../metastorage/impl/MetaStorageService.java | 5 + .../metastorage/impl/MetaStorageServiceImpl.java | 8 + .../metastorage/server/KeyValueStorage.java| 12 +- .../server/persistence/RocksDbKeyValueStorage.java | 63 +--- .../server/raft/MetaStorageListener.java | 5 + .../MetaStorageDeployWatchesCorrectnessTest.java | 7 +- .../impl/MetaStorageManagerRecoveryTest.java | 176 + .../server/BasicOperationsKeyValueStorageTest.java | 6 +- .../server/RocksDbKeyValueStorageTest.java | 74 - .../server/SimpleInMemoryKeyValueStorage.java | 43 - .../MultiActorPlacementDriverTest.java | 10 +- .../runner/app/ItIgniteNodeRestartTest.java| 87 +- .../apache/ignite/internal/start/ItStartTest.java | 3 +- .../org/apache/ignite/internal/app/IgniteImpl.java | 15 +- .../internal/table/distributed/TableManager.java | 3 - 21 files changed, 498 insertions(+), 136 deletions(-) copy modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/command/{RemoveCommand.java => GetCurrentRevisionCommand.java} (75%) create mode 100644 modules/metastorage/src/test/java/org/apache/ignite/internal/metastorage/impl/MetaStorageManagerRecoveryTest.java
[ignite-3] branch ignite-19777 updated (7c2c895ff4 -> 67c8b123f2)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 7c2c895ff4 Review fixes 3 add 67c8b123f2 Review fixes 3 No new revisions were added by this update. Summary of changes: .../internal/placementdriver/MultiActorPlacementDriverTest.java | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-)
[ignite-3] branch ignite-19777 updated (3df2b3fe05 -> 7c2c895ff4)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 3df2b3fe05 Review fixes 3 add 7c2c895ff4 Review fixes 3 No new revisions were added by this update. Summary of changes: .../placementdriver/MultiActorPlacementDriverTest.java | 14 -- 1 file changed, 8 insertions(+), 6 deletions(-)
[ignite-3] branch ignite-19777 updated (bb35a65f00 -> 3df2b3fe05)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from bb35a65f00 Review fixes 3 add 3df2b3fe05 Review fixes 3 No new revisions were added by this update. Summary of changes: .../internal/placementdriver/MultiActorPlacementDriverTest.java| 7 --- 1 file changed, 4 insertions(+), 3 deletions(-)
[ignite-3] branch ignite-19777 updated (4a05d37c90 -> bb35a65f00)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 4a05d37c90 Review fixes 3 add bb35a65f00 Review fixes 3 No new revisions were added by this update. Summary of changes: .../metastorage/impl/MetaStorageManagerImpl.java | 29 +++--- .../metastorage/server/KeyValueStorage.java| 3 ++- .../server/persistence/RocksDbKeyValueStorage.java | 15 +++ .../server/SimpleInMemoryKeyValueStorage.java | 15 +++ 4 files changed, 31 insertions(+), 31 deletions(-)
[ignite-3] branch ignite-19777 updated (d7b4e7b09b -> 4a05d37c90)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from d7b4e7b09b Review fixes 2 add 4a05d37c90 Review fixes 3 No new revisions were added by this update. Summary of changes: .../apache/ignite/internal/metastorage/server/KeyValueStorage.java | 4 ++-- .../metastorage/server/persistence/RocksDbKeyValueStorage.java | 6 +++--- .../internal/metastorage/server/SimpleInMemoryKeyValueStorage.java | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-)
[ignite-3] branch ignite-19777 updated (f9c0972f42 -> d7b4e7b09b)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from f9c0972f42 Review fixes 2 add ddfa93403b Review fixes 2 add d7b4e7b09b Review fixes 2 No new revisions were added by this update. Summary of changes: .../internal/metastorage/impl/MetaStorageManagerImpl.java | 4 ++-- .../server/persistence/RocksDbKeyValueStorage.java | 14 +- 2 files changed, 3 insertions(+), 15 deletions(-)
[ignite-3] branch ignite-19777 updated (7b12e25e4f -> f9c0972f42)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 7b12e25e4f Review fixes add f9c0972f42 Review fixes 2 No new revisions were added by this update. Summary of changes: .../distributionzones/DistributionZoneManager.java | 1 - .../metastorage/impl/MetaStorageManagerImpl.java | 74 +- .../metastorage/server/KeyValueStorage.java| 8 +++ .../server/persistence/RocksDbKeyValueStorage.java | 29 + .../server/SimpleInMemoryKeyValueStorage.java | 23 +++ .../internal/table/distributed/TableManager.java | 3 - 6 files changed, 104 insertions(+), 34 deletions(-)
[ignite-3] branch ignite-19777 updated (6a0bc6406d -> 7b12e25e4f)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 6a0bc6406d Merge fix add 7b12e25e4f Review fixes No new revisions were added by this update. Summary of changes: .../runner/app/ItIgniteNodeRestartTest.java| 61 ++ .../org/apache/ignite/internal/app/IgniteImpl.java | 1 - .../recovery/ConfigurationCatchUpListener.java | 1 - 3 files changed, 39 insertions(+), 24 deletions(-)
[ignite-3] branch ignite-19777 updated (dc968473da -> 6a0bc6406d)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from dc968473da IGNITE-19777 Initial add 683f9a6f20 IGNITE-16004 Preserve key order in InternalTableImpl#collectMultiRowsResponses (#2236) add e674c16add IGNITE-19799 Refactoring classes associated with the catalog (#2243) add 7f5bda1cb8 IGNITE-19209 Implement installing table schema updates (#2228) add 5afdeec51e IGNITE-19815 Make ItTableScanTest resilient (#2244) add 8c537d12a4 IGNITE-19621 Sql. Shrink planner search space by removing pre known not applicable indexes (#2202) add c52d8de4fc IGNITE-19760 Create cluster status before deployment unit files uploading (#2207) add e84a0f3a7d IGNITE-19804 Sql. Change erroneously annotated tests (#2234) add e167c685ab IGNITE-19693 getAll does not preserve order and does not return nulls for missing keys (#2233) add 01e0035c09 IGNITE-19831 Rename RaftManager methods to better reflect their behavior (#2251) add a138e5e4fe Merge branch 'main' into ignite-19777 add 6a0bc6406d Merge fix No new revisions were added by this update. Summary of changes: modules/api/build.gradle | 1 + .../java/org/apache/ignite/sql/SqlException.java | 13 + .../java/org/apache/ignite/table/RecordView.java | 11 +- .../testframework/IntegrationTestBase.java | 2 +- .../testframework/TestIgnitionManager.java | 39 ++ .../ignite/internal/catalog/CatalogService.java| 2 +- .../internal/catalog/CatalogServiceImpl.java | 616 +++-- .../ignite/internal/catalog/ClockWaiter.java | 171 ++ .../commands/AbstractIndexCommandParams.java | 41 ++ .../internal/catalog/commands/CatalogUtils.java| 33 +- .../catalog/commands/CreateHashIndexParams.java| 22 - .../catalog/commands/CreateSortedIndexParams.java | 41 -- .../SchemaSynchronizationConfigurationSchema.java | 3 +- .../internal/catalog/storage/AlterColumnEntry.java | 4 +- .../internal/catalog/storage/DropColumnsEntry.java | 4 +- .../internal/catalog/storage/DropIndexEntry.java | 4 +- .../internal/catalog/storage/DropTableEntry.java | 4 +- .../internal/catalog/storage/NewColumnsEntry.java | 4 +- .../internal/catalog/storage/NewIndexEntry.java| 4 +- .../internal/catalog/storage/NewTableEntry.java| 4 +- .../ignite/internal/catalog/storage/UpdateLog.java | 4 +- .../internal/catalog/storage/UpdateLogImpl.java| 31 +- .../internal/catalog/storage/VersionedUpdate.java | 15 +- .../internal/catalog/CatalogServiceSelfTest.java | 246 .../ignite/internal/catalog/ClockWaiterTest.java | 97 .../catalog/storage/UpdateLogImplTest.java | 24 +- .../internal/cli/commands/ItConfigCommandTest.java | 2 +- .../internal/rest/ItGeneratedRestClientTest.java | 2 +- .../internal/client/table/ClientKeyValueView.java | 11 +- .../client/table/ClientRecordBinaryView.java | 13 +- .../client/table/ClientRecordSerializer.java | 3 +- .../internal/client/table/ClientRecordView.java| 13 +- .../client/table/ClientTupleSerializer.java| 3 +- .../apache/ignite/client/ClientRecordViewTest.java | 12 +- .../ignite/client/fakes/FakeInternalTable.java | 10 +- .../ignite/client/fakes/FakeSchemaRegistry.java| 10 +- .../management/raft/ItCmgRaftServiceTest.java | 2 +- .../management/ClusterManagementGroupManager.java | 2 +- .../internal/deployunit/DeploymentManagerImpl.java | 96 +--- .../internal/deployunit/IgniteDeployment.java | 52 +- .../ignite/internal/deployunit/NodesToDeploy.java | 114 .../compute/util/DummyIgniteDeployment.java| 16 +- .../ignite/internal/hlc/ClockUpdateListener.java} | 15 +- .../apache/ignite/internal/hlc/HybridClock.java| 14 + .../ignite/internal/hlc/HybridClockImpl.java | 23 +- .../ignite/internal/hlc/HybridTimestamp.java | 8 + .../apache/ignite/internal/HybridClockTest.java| 60 ++ .../apache/ignite/internal/TestHybridClock.java| 24 +- .../apache/ignite/jdbc/AbstractJdbcSelfTest.java | 2 +- .../internal/metastorage/MetaStorageManager.java | 20 + .../ignite/internal/metastorage/WatchEvent.java| 22 +- .../metastorage/impl/ItMetaStorageServiceTest.java | 4 +- .../metastorage/impl/MetaStorageManagerImpl.java | 26 + .../metastorage/server/KeyValueStorage.java| 8 + .../server/OnRevisionAppliedCallback.java | 2 +- .../metastorage/server/WatchProcessor.java | 8 +- .../server/persistence/RocksDbKeyValueStorage.java | 33 +- .../impl/StandaloneMetaStorageManager.java | 2 +- .../server/SimpleInMemoryKeyValueStorage.java | 8 + .../client-test/key_value_binary_view_test.cpp | 61 +- .../cpp/tests/client-test/key_value_view_test.
[ignite-3] branch ignite-19777 updated (32473d436e -> dc968473da)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 32473d436e IGNITE-19777 Initial add dc968473da IGNITE-19777 Initial No new revisions were added by this update. Summary of changes: .../metastorage/impl/MetaStorageManagerImpl.java | 4 +- .../metastorage/impl/MetaStorageService.java | 5 ++- .../metastorage/impl/MetaStorageServiceImpl.java | 2 +- .../impl/MetaStorageManagerRecoveryTest.java | 47 ++ .../runner/app/ItIgniteNodeRestartTest.java| 2 +- 5 files changed, 39 insertions(+), 21 deletions(-)
[ignite-3] branch ignite-19777 updated (a30e95419d -> 32473d436e)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from a30e95419d IGNITE-19777 Initial add 32473d436e IGNITE-19777 Initial No new revisions were added by this update. Summary of changes: .../apache/ignite/internal/metastorage/impl/MetaStorageManagerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[ignite-3] branch ignite-19777 updated (182c326228 -> a30e95419d)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git discard 182c326228 IGNITE-19777 Initial discard 5706017e86 IGNITE-19777 Initial omit f0333a67af IGNITE-19777 Initial omit 1ec4b2b176 IGNITE-19777 Initial add c60eda6f86 IGNITE-19764 FileDeployerService does not stop underlying thread pool (#2208) add eabf3d24d6 IGNITE-19745 Add a method for local obtaining entries in MetaStorage from lower bound revision to upper bound revision (#2227) add 209698938f IGNITE-19641 Catalog events are triggered too early. (#2231) add a7f25617e7 IGNITE-19777 Initial add bb0bb73639 IGNITE-19777 Initial add b98bd62c6a IGNITE-19777 Initial add afcdcba8bc IGNITE-19777 Initial add a30e95419d IGNITE-19777 Initial This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (182c326228) \ N -- N -- N refs/heads/ignite-19777 (a30e95419d) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .../internal/catalog/CatalogServiceImpl.java | 270 ++--- .../internal/catalog/storage/AlterColumnEntry.java | 56 - .../internal/catalog/storage/AlterZoneEntry.java | 32 ++- .../internal/catalog/storage/DropColumnsEntry.java | 54 - .../internal/catalog/storage/DropIndexEntry.java | 42 +++- .../internal/catalog/storage/DropTableEntry.java | 42 +++- .../internal/catalog/storage/DropZoneEntry.java| 30 ++- .../Fireable.java} | 20 +- .../internal/catalog/storage/NewColumnsEntry.java | 51 +++- .../internal/catalog/storage/NewIndexEntry.java| 41 +++- .../internal/catalog/storage/NewTableEntry.java| 41 +++- .../internal/catalog/storage/NewZoneEntry.java | 30 ++- .../catalog/storage/ObjectIdGenUpdateEntry.java| 13 +- .../internal/catalog/storage/UpdateEntry.java | 10 +- .../internal/catalog/storage/UpdateLogImpl.java| 1 + .../internal/catalog/CatalogServiceSelfTest.java | 23 ++ .../catalog/storage/UpdateLogImplTest.java | 6 + .../internal/deployunit/DeploymentManagerImpl.java | 13 +- .../internal/deployunit/FileDeployerService.java | 7 + .../internal/metastorage/MetaStorageManager.java | 15 ++ .../metastorage/impl/MetaStorageManagerImpl.java | 26 +- .../metastorage/server/KeyValueStorage.java| 12 + .../server/persistence/RocksDbKeyValueStorage.java | 98 .../server/BasicOperationsKeyValueStorageTest.java | 82 +++ .../server/SimpleInMemoryKeyValueStorage.java | 79 ++ 25 files changed, 804 insertions(+), 290 deletions(-) copy modules/catalog/src/main/java/org/apache/ignite/internal/catalog/{events/CatalogEventParameters.java => storage/Fireable.java} (64%)
[ignite-3] branch ignite-19777 updated (5706017e86 -> 182c326228)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 5706017e86 IGNITE-19777 Initial add 182c326228 IGNITE-19777 Initial No new revisions were added by this update. Summary of changes: .../internal/metastorage/MetaStorageManager.java | 6 ++- .../metastorage/impl/MetaStorageManagerImpl.java | 46 +- .../org/apache/ignite/internal/app/IgniteImpl.java | 2 +- 3 files changed, 33 insertions(+), 21 deletions(-)
[ignite-3] branch ignite-19777 updated (f0333a67af -> 5706017e86)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from f0333a67af IGNITE-19777 Initial add 5706017e86 IGNITE-19777 Initial No new revisions were added by this update. Summary of changes: .../java/org/apache/ignite/internal/start/ItStartTest.java | 3 ++- .../src/main/java/org/apache/ignite/internal/app/IgniteImpl.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-)
[ignite-3] branch ignite-19777 updated (1ec4b2b176 -> f0333a67af)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git from 1ec4b2b176 IGNITE-19777 Initial add f0333a67af IGNITE-19777 Initial No new revisions were added by this update. Summary of changes: .../MetaStorageDeployWatchesCorrectnessTest.java | 11 ++-- .../server/RocksDbKeyValueStorageTest.java | 74 -- .../MultiActorPlacementDriverTest.java | 5 +- 3 files changed, 10 insertions(+), 80 deletions(-)
[ignite-3] branch ignite-19777 updated (e8dfda7d05 -> 1ec4b2b176)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git omit e8dfda7d05 IGNITE-19777 Initial add 2b4e7b0ee1 IGNITE-19651 Create internal presentation of DeploymentUnit and use it in the internal code base (#2211) add 2c2537540e IGNITE-19731 Fixed ItTableScanTest different test failed (#2209) add f71681e1af IGNITE-19617 Add basic data streamer to embedded API (#2215) add cb0fdb75ab IGNITE-19535 Removed a requirement to have a special constructor for Ignite exceptions (#2178) add 027dcea777 IGNITE-19560 Java client: fix Netty buffer leak (#2229) add cd3a977d88 IGNITE-19519 Deployment unit removal (#2194) add 0517303538 IGNITE-19805 Fixed intermittent AssertionError in logs, by providing a correct causality bethween versioned values in TableManager. (#2235) add 0fc99e9a4a IGNITE-19624 Java client: propagate compute deployment units (#2230) add 1ec4b2b176 IGNITE-19777 Initial This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (e8dfda7d05) \ N -- N -- N refs/heads/ignite-19777 (1ec4b2b176) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .../apache/ignite/lang/IgniteCheckedException.java | 2 +- .../org/apache/ignite/lang/IgniteException.java| 49 +- .../apache/ignite/lang/IgniteExceptionUtils.java | 553 + .../apache/ignite/lang/MarshallerException.java| 14 - .../ignite/security/AuthenticationException.java | 14 +- .../UnknownAuthenticationTypeException.java| 19 +- .../apache/ignite/sql/CursorClosedException.java | 14 - .../ignite/sql/NoRowSetExpectedException.java | 14 - .../main/java/org/apache/ignite/sql/Session.java | 12 +- .../org/apache/ignite/sql/SqlBatchException.java | 3 + .../apache/ignite/sql/SyncResultSetAdapter.java| 3 +- .../apache/ignite/lang/IgniteExceptionTest.java| 8 +- .../ignite/lang/IgniteExceptionUtilsTest.java | 187 +++ .../ignite/internal/IgniteExceptionArchTest.java | 42 +- .../handler/ClientInboundMessageHandler.java | 9 +- .../ClientComputeExecuteColocatedRequest.java | 5 +- .../compute/ClientComputeExecuteRequest.java | 22 +- .../IgniteClientAuthenticationException.java | 13 - .../client/IgniteClientConnectionException.java| 13 - ...ClientFeatureNotSupportedByServerException.java | 13 - .../apache/ignite/internal/client/ClientUtils.java | 10 +- .../ignite/internal/client/TcpClientChannel.java | 39 +- .../internal/client/compute/ClientCompute.java | 36 +- ...tClientStreamerPartitionAwarenessProvider.java} | 5 +- .../internal/client/table/ClientDataStreamer.java | 75 +++ .../client/table/ClientKeyValueBinaryView.java | 10 +- .../internal/client/table/ClientKeyValueView.java | 10 +- .../client/table/ClientRecordBinaryView.java | 10 +- .../internal/client/table/ClientRecordView.java| 10 +- .../client/table/ClientTupleSerializer.java| 1 + ...aluePojoStreamerPartitionAwarenessProvider.java | 2 +- ...lueTupleStreamerPartitionAwarenessProvider.java | 2 +- .../PojoStreamerPartitionAwarenessProvider.java| 2 +- .../TupleStreamerPartitionAwarenessProvider.java | 2 +- .../apache/ignite/client/AbstractClientTest.java | 4 + .../apache/ignite/client/ClientComputeTest.java| 19 + .../apache/ignite/client/ClientMetricsTest.java| 4 +- .../java/org/apache/ignite/client/TestServer.java | 3 + .../apache/ignite/client/fakes/FakeCompute.java| 9 + .../ignite/client/fakes/FakeInternalTable.java | 6 + .../apache/ignite/client/fakes/FakeSession.java| 4 +- modules/code-deployment/build.gradle | 1 - .../internal/deployunit/DefaultNodeCallback.java | 85 +++- .../deployunit/DeployMessagingService.java | 38 -- .../internal/deployunit/DeploymentManagerImpl.java | 104 ++-- .../internal/deployunit}/DeploymentStatus.java | 5 +- .../internal/deployunit/FileDeployerService.java | 4 +- .../internal/deployunit/IgniteDeployment.java | 1 - .../ignite/internal/deployunit/UnitStatus.java | 1 - .../ignite/internal/deployunit/UnitStatuses.java | 1 - .../DeploymentUnitAlreadyExistsExcep
[ignite-3] 01/01: IGNITE-19777 Initial
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a commit to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit e8dfda7d059da0aecd4e8b2ee8dcacc3e2f1c0dc Author: Semyon Danilov AuthorDate: Thu Jun 22 18:29:34 2023 +0400 IGNITE-19777 Initial --- .../internal/metastorage/MetaStorageManager.java | 2 + ...MetaStorageSafeTimePropagationAbstractTest.java | 2 +- .../command/GetCurrentRevisionCommand.java | 26 .../command/MetastorageCommandsMessageGroup.java | 8 +- .../metastorage/impl/MetaStorageManagerImpl.java | 71 - .../metastorage/impl/MetaStorageService.java | 2 + .../metastorage/impl/MetaStorageServiceImpl.java | 8 + .../metastorage/server/KeyValueStorage.java| 3 +- .../server/persistence/RocksDbKeyValueStorage.java | 45 +++--- .../server/raft/MetaStorageListener.java | 5 + .../MetaStorageDeployWatchesCorrectnessTest.java | 4 +- .../impl/MetaStorageManagerRecoveryTest.java | 163 + .../server/BasicOperationsKeyValueStorageTest.java | 6 +- .../server/RocksDbKeyValueStorageTest.java | 2 +- .../server/SimpleInMemoryKeyValueStorage.java | 15 +- .../runner/app/ItIgniteNodeRestartTest.java| 70 - .../org/apache/ignite/internal/app/IgniteImpl.java | 16 +- .../recovery/ConfigurationCatchUpListener.java | 1 + 18 files changed, 407 insertions(+), 42 deletions(-) diff --git a/modules/metastorage-api/src/main/java/org/apache/ignite/internal/metastorage/MetaStorageManager.java b/modules/metastorage-api/src/main/java/org/apache/ignite/internal/metastorage/MetaStorageManager.java index 5d1d411f70..2cf4470e56 100644 --- a/modules/metastorage-api/src/main/java/org/apache/ignite/internal/metastorage/MetaStorageManager.java +++ b/modules/metastorage-api/src/main/java/org/apache/ignite/internal/metastorage/MetaStorageManager.java @@ -181,4 +181,6 @@ public interface MetaStorageManager extends IgniteComponent { * @return Cluster time. */ ClusterTime clusterTime(); + +CompletableFuture ready(); } diff --git a/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageSafeTimePropagationAbstractTest.java b/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageSafeTimePropagationAbstractTest.java index 7192723bb6..c73c6ac301 100644 --- a/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageSafeTimePropagationAbstractTest.java +++ b/modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageSafeTimePropagationAbstractTest.java @@ -48,7 +48,7 @@ public abstract class ItMetaStorageSafeTimePropagationAbstractTest extends Abstr public void setUp() { super.setUp(); -storage.startWatches((e, t) -> { +storage.startWatches(0, (e, t) -> { time.updateSafeTime(t); return CompletableFuture.completedFuture(null); diff --git a/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/command/GetCurrentRevisionCommand.java b/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/command/GetCurrentRevisionCommand.java new file mode 100644 index 00..14f72a5c8e --- /dev/null +++ b/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/command/GetCurrentRevisionCommand.java @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.metastorage.command; + +import org.apache.ignite.internal.raft.ReadCommand; +import org.apache.ignite.network.annotations.Transferable; + +/** Get command for MetaStorageCommandListener that retrieves current revision. */ +@Transferable(MetastorageCommandsMessageGroup.GET_CURRENT_REVISION) +public interface GetCurrentRevisionCommand extends ReadCommand { +} diff --git a/modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/command/MetastorageCommandsMessageGroup.java b/modules/metastorage/src/main/java/
[ignite-3] branch ignite-19777 created (now e8dfda7d05)
This is an automated email from the ASF dual-hosted git repository. sdanilov pushed a change to branch ignite-19777 in repository https://gitbox.apache.org/repos/asf/ignite-3.git at e8dfda7d05 IGNITE-19777 Initial This branch includes the following new commits: new e8dfda7d05 IGNITE-19777 Initial The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.