This is an automated email from the ASF dual-hosted git repository.

agura pushed a commit to branch ignite-14389
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/ignite-14389 by this push:
     new 9ec80e7  IGNITE-14389 Fixed tests
9ec80e7 is described below

commit 9ec80e789acb482b4488d82e7a677fc4545ee2aa
Author: Andrey Gura <[email protected]>
AuthorDate: Tue May 18 15:25:55 2021 +0300

    IGNITE-14389 Fixed tests
---
 .../internal/metastorage/client/ITMetaStorageServiceTest.java    | 6 +++++-
 .../internal/metastorage/client/MetaStorageServiceImpl.java      | 9 ++++++++-
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git 
a/modules/metastorage-client/src/integrationTest/java/org/apache/ignite/internal/metastorage/client/ITMetaStorageServiceTest.java
 
b/modules/metastorage-client/src/integrationTest/java/org/apache/ignite/internal/metastorage/client/ITMetaStorageServiceTest.java
index f86d7d8..ad626fa 100644
--- 
a/modules/metastorage-client/src/integrationTest/java/org/apache/ignite/internal/metastorage/client/ITMetaStorageServiceTest.java
+++ 
b/modules/metastorage-client/src/integrationTest/java/org/apache/ignite/internal/metastorage/client/ITMetaStorageServiceTest.java
@@ -52,6 +52,8 @@ import org.apache.ignite.network.ClusterService;
 import org.apache.ignite.network.ClusterServiceFactory;
 import org.apache.ignite.network.message.MessageSerializationRegistry;
 import org.apache.ignite.network.scalecube.ScaleCubeClusterServiceFactory;
+import org.apache.ignite.network.scalecube.message.ScaleCubeMessage;
+import 
org.apache.ignite.network.scalecube.message.ScaleCubeMessageSerializationFactory;
 import org.apache.ignite.raft.client.Peer;
 import org.apache.ignite.raft.client.message.RaftClientMessageFactory;
 import org.apache.ignite.raft.client.message.impl.RaftClientMessageFactoryImpl;
@@ -102,7 +104,9 @@ public class ITMetaStorageServiceTest {
 
     /** */
     // TODO: IGNITE-14088 Uncomment and use real serializer provider
-    private static final MessageSerializationRegistry SERIALIZATION_REGISTRY = 
new MessageSerializationRegistry();
+    //    private static final MessageSerializationRegistry 
SERIALIZATION_REGISTRY = new MessageSerializationRegistry();
+    private static final MessageSerializationRegistry SERIALIZATION_REGISTRY = 
new MessageSerializationRegistry()
+            .registerFactory(ScaleCubeMessage.TYPE, new 
ScaleCubeMessageSerializationFactory());
 
     /**  Expected server result entry. */
     private static final org.apache.ignite.internal.metastorage.server.Entry 
EXPECTED_SRV_RESULT_ENTRY =
diff --git 
a/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/MetaStorageServiceImpl.java
 
b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/MetaStorageServiceImpl.java
index b7a6a04..bbae5fe 100644
--- 
a/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/MetaStorageServiceImpl.java
+++ 
b/modules/metastorage-client/src/main/java/org/apache/ignite/internal/metastorage/client/MetaStorageServiceImpl.java
@@ -376,6 +376,10 @@ public class MetaStorageServiceImpl implements 
MetaStorageService {
                 (k, v) -> {
                     CompletableFuture.runAsync(v::interrupt).thenRun(() -> {
                         try {
+                            v.stop = true;
+
+                            Thread.sleep(100);
+
                             v.cursor.close();
                         }
                         catch (InterruptedException e) {
@@ -393,6 +397,9 @@ public class MetaStorageServiceImpl implements 
MetaStorageService {
 
         /** Watcher thread, uses pulling logic in order to retrieve watch 
notifications from server */
         private final class Watcher extends Thread {
+            /** */
+            private volatile boolean stop = false;
+
             /** Watch event cursor. */
             private Cursor<WatchEvent> cursor;
 
@@ -415,7 +422,7 @@ public class MetaStorageServiceImpl implements 
MetaStorageService {
             @Override public void run() {
                 Iterator<WatchEvent> watchEvtsIter = cursor.iterator();
 
-                while (true) {
+                while (!stop) {
                     try {
                         if (watchEvtsIter.hasNext()) {
                             WatchEvent watchEvt = null;

Reply via email to