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

amashenkov 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 37e6b581f49 IGNITE-27242 Fix flaky 
PrepareServiceImplTest.planUpdatesForNonCachedTable (#7226).
37e6b581f49 is described below

commit 37e6b581f4950a52f66845a462a8becdc4551e49
Author: Andrew V. Mashenkov <[email protected]>
AuthorDate: Tue Dec 16 15:02:23 2025 +0300

    IGNITE-27242 Fix flaky PrepareServiceImplTest.planUpdatesForNonCachedTable 
(#7226).
---
 .../sql/engine/prepare/PrepareServiceImplTest.java | 37 ++++++++++++----------
 1 file changed, 20 insertions(+), 17 deletions(-)

diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/prepare/PrepareServiceImplTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/prepare/PrepareServiceImplTest.java
index 456d7ee4d70..56c7e6184bb 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/prepare/PrepareServiceImplTest.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/prepare/PrepareServiceImplTest.java
@@ -350,8 +350,8 @@ public class PrepareServiceImplTest extends 
BaseIgniteAbstractTest {
 
         CacheFactory cacheFactory = new DummyCacheFactory(cache);
 
-        // Set planning timeout 1 millisecond, this value is small enough to 
cause a planning timeout exception. 
-        PrepareServiceImpl service = createPlannerService(schema, 
cacheFactory, 1);
+        // Set planning timeout 1 millisecond, this value is small enough to 
cause a planning timeout exception.
+        PrepareServiceImpl service = createPlannerService(schema, 
cacheFactory, 1L);
 
         StringBuilder stmt = new StringBuilder();
         for (int i = 0; i < 100; i++) {
@@ -408,7 +408,7 @@ public class PrepareServiceImplTest extends 
BaseIgniteAbstractTest {
 
         IgniteSchema schema = new IgniteSchema("TEST", 0, List.of(table));
 
-        PrepareServiceImpl service = createPlannerService(schema, 
CaffeineCacheFactory.INSTANCE, Integer.MAX_VALUE);
+        PrepareServiceImpl service = createPlannerService(schema, 
CaffeineCacheFactory.INSTANCE, Long.MAX_VALUE);
 
         assertThat(service.cache.size(), is(0));
 
@@ -452,10 +452,10 @@ public class PrepareServiceImplTest extends 
BaseIgniteAbstractTest {
         IgniteSchema schema = new IgniteSchema("TEST", 0, List.of(table1, 
table2));
 
         // 1 item cache plan size
-        PrepareServiceImpl service = (PrepareServiceImpl) 
createPlannerService(schema, 1);
+        PrepareServiceImpl service = createPlannerService(schema, 1);
 
-        String selectQuery = "SELECT * FROM test.t1 WHERE c = 1";
-        await(service.prepareAsync(parse(selectQuery), 
operationContext().build()));
+        String query1 = "SELECT * FROM test.t1 WHERE c = 1";
+        await(service.prepareAsync(parse(query1), operationContext().build()));
 
         assertThat(service.cache.size(), is(1));
         CacheKey key1 = service.cache.entrySet().iterator().next().getKey();
@@ -490,7 +490,7 @@ public class PrepareServiceImplTest extends 
BaseIgniteAbstractTest {
         configurationValue.update(60).join();
 
         // Starts in createPlannerService
-        PrepareServiceImpl service = (PrepareServiceImpl) 
createPlannerService(schema, 1);
+        PrepareServiceImpl service = createPlannerService(schema, 1);
 
         // Initial values
         configurationValue.update(42).join();
@@ -551,7 +551,7 @@ public class PrepareServiceImplTest extends 
BaseIgniteAbstractTest {
 
         runScheduledTasks();
         // Let eviction tasks to run.
-        Awaitility.await().untilAsserted(() -> 
+        Awaitility.await().untilAsserted(() ->
                 assertNotSame(plan2, 
await(service.prepareAsync(parse(selectQuery), operationContext().build()))));
 
         // previous catalog, get cached plan
@@ -642,7 +642,7 @@ public class PrepareServiceImplTest extends 
BaseIgniteAbstractTest {
         Awaitility.await().timeout(30, TimeUnit.SECONDS).untilAsserted(() -> {
             int expireSeconds = 2;
             PrepareServiceImpl service =
-                    createPlannerService(schema, 
CaffeineCacheFactory.INSTANCE, Integer.MAX_VALUE, expireSeconds, 1000);
+                    createPlannerService(schema, 
CaffeineCacheFactory.INSTANCE, Long.MAX_VALUE, expireSeconds, 1000);
 
             String query = "SELECT * FROM test.t WHERE c = 1";
             QueryPlan p0 = await(service.prepareAsync(parse(query), 
operationContext().build()));
@@ -674,7 +674,7 @@ public class PrepareServiceImplTest extends 
BaseIgniteAbstractTest {
 
         Cache<Object, Object> cache = 
CaffeineCacheFactory.INSTANCE.create(100);
 
-        PrepareServiceImpl service = createPlannerService(schema, new 
DummyCacheFactory(cache), 1000);
+        PrepareServiceImpl service = createPlannerService(schema, new 
DummyCacheFactory(cache), 1000L);
 
         await(service.prepareAsync(parse("SELECT * FROM t1"), 
createContext()));
         await(service.prepareAsync(parse("SELECT * FROM t1 WHERE C > 0"), 
createContext()));
@@ -697,7 +697,7 @@ public class PrepareServiceImplTest extends 
BaseIgniteAbstractTest {
 
         Cache<Object, Object> cache = 
CaffeineCacheFactory.INSTANCE.create(100);
 
-        PrepareServiceImpl service = createPlannerService(schema, new 
DummyCacheFactory(cache), 1000);
+        PrepareServiceImpl service = createPlannerService(schema, new 
DummyCacheFactory(cache), 1000L);
 
         { // Simple name.
             await(service.prepareAsync(parse("SELECT * FROM t1"), 
createContext()));
@@ -767,7 +767,7 @@ public class PrepareServiceImplTest extends 
BaseIgniteAbstractTest {
         ));
 
         PrepareServiceImpl service =
-                createPlannerService(schema, CaffeineCacheFactory.INSTANCE, 
Integer.MAX_VALUE, 100, 1000);
+                createPlannerService(schema, CaffeineCacheFactory.INSTANCE, 
Long.MAX_VALUE, 100, 1000);
 
         BlockingQueue<PreparedPlan> result = new LinkedBlockingQueue<>();
 
@@ -874,22 +874,25 @@ public class PrepareServiceImplTest extends 
BaseIgniteAbstractTest {
         return createPlannerService(createSchema());
     }
 
-    private PrepareService createPlannerService(IgniteSchema schema, int 
cacheSize) {
-        return createPlannerService(schema, CaffeineCacheFactory.INSTANCE, 
10000, Integer.MAX_VALUE, cacheSize);
+    private PrepareServiceImpl createPlannerService(IgniteSchema schema, int 
cacheSize) {
+        // Run clean up tasks in the current thread, so no eviction event is 
delayed.
+        CacheFactory cacheFactory = CaffeineCacheFactory.create(Runnable::run);
+
+        return createPlannerService(schema, cacheFactory, 10000L, 
Integer.MAX_VALUE, cacheSize);
     }
 
     private PrepareService createPlannerService(IgniteSchema schema) {
-        return createPlannerService(schema, CaffeineCacheFactory.INSTANCE, 
10000);
+        return createPlannerService(schema, CaffeineCacheFactory.INSTANCE, 
10000L);
     }
 
-    private PrepareServiceImpl createPlannerService(IgniteSchema schemas, 
CacheFactory cacheFactory, int timeoutMillis) {
+    private PrepareServiceImpl createPlannerService(IgniteSchema schemas, 
CacheFactory cacheFactory, long timeoutMillis) {
         return createPlannerService(schemas, cacheFactory, timeoutMillis, 
Integer.MAX_VALUE, 1000);
     }
 
     private PrepareServiceImpl createPlannerService(
             IgniteSchema schemas,
             CacheFactory cacheFactory,
-            int timeoutMillis,
+            long timeoutMillis,
             int planExpireSeconds,
             int cacheSize
     ) {

Reply via email to