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

ptupitsyn 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 bed2a17f00 IGNITE-19011 Fix testCustomAsyncContinuationExecutor 
flakiness (#1816)
bed2a17f00 is described below

commit bed2a17f0063c14a9c69b13369171c677455a8c0
Author: Pavel Tupitsyn <[email protected]>
AuthorDate: Mon Mar 20 13:06:47 2023 +0300

    IGNITE-19011 Fix testCustomAsyncContinuationExecutor flakiness (#1816)
    
    Use responseDelay to make sure that future does not complete synchronously.
---
 .../apache/ignite/client/ConfigurationTest.java    | 33 +++++++++++++---------
 1 file changed, 19 insertions(+), 14 deletions(-)

diff --git 
a/modules/client/src/test/java/org/apache/ignite/client/ConfigurationTest.java 
b/modules/client/src/test/java/org/apache/ignite/client/ConfigurationTest.java
index b7b49751e5..ab74671864 100644
--- 
a/modules/client/src/test/java/org/apache/ignite/client/ConfigurationTest.java
+++ 
b/modules/client/src/test/java/org/apache/ignite/client/ConfigurationTest.java
@@ -31,6 +31,7 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.atomic.AtomicReference;
+import java.util.function.Function;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.lang.IgniteException;
 import org.junit.jupiter.api.Test;
@@ -158,24 +159,28 @@ public class ConfigurationTest extends AbstractClientTest 
{
 
     @Test
     public void testCustomAsyncContinuationExecutor() throws Exception {
-        ExecutorService executor = Executors.newSingleThreadExecutor();
+        Function<Integer, Integer> responseDelay = x -> 50;
 
-        var builderThreadName = new AtomicReference<String>();
+        try (var testServer = new TestServer(10900, 10, 0, server, x -> false, 
responseDelay, "n2", clusterId)) {
+            ExecutorService executor = Executors.newSingleThreadExecutor();
 
-        CompletableFuture<IgniteClient> builder = IgniteClient.builder()
-                .addresses("127.0.0.1:" + serverPort)
-                .asyncContinuationExecutor(executor)
-                .buildAsync()
-                .whenComplete((res, err) -> 
builderThreadName.set(Thread.currentThread().getName()));
+            var builderThreadName = new AtomicReference<String>();
 
-        try (IgniteClient ignite = builder.join()) {
-            String threadName = ignite.tables().tablesAsync().thenApply(unused 
-> Thread.currentThread().getName()).join();
+            CompletableFuture<IgniteClient> builder = IgniteClient.builder()
+                    .addresses("127.0.0.1:" + testServer.port())
+                    .asyncContinuationExecutor(executor)
+                    .buildAsync()
+                    .whenComplete((res, err) -> 
builderThreadName.set(Thread.currentThread().getName()));
 
-            assertEquals(executor, 
ignite.configuration().asyncContinuationExecutor());
-            assertThat(threadName, startsWith("pool-"));
-            assertThat(builderThreadName.get(), startsWith("pool-"));
-        }
+            try (IgniteClient ignite = builder.join()) {
+                String threadName = 
ignite.tables().tablesAsync().thenApply(unused -> 
Thread.currentThread().getName()).join();
 
-        executor.shutdown();
+                assertEquals(executor, 
ignite.configuration().asyncContinuationExecutor());
+                assertThat(threadName, startsWith("pool-"));
+                assertThat(builderThreadName.get(), startsWith("pool-"));
+            }
+
+            executor.shutdown();
+        }
     }
 }

Reply via email to