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

anton-vinogradov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new d8b6b2d608b IGNITE-28834 Apply test load scaling (GridTestUtils.SF) to 
long-running tests (#13294)
d8b6b2d608b is described below

commit d8b6b2d608b64bed0fb3c167e731ecf9b8ff0b38
Author: Anton Vinogradov <[email protected]>
AuthorDate: Tue Jun 30 17:03:19 2026 +0300

    IGNITE-28834 Apply test load scaling (GridTestUtils.SF) to long-running 
tests (#13294)
    
    [IGNITE-28834](https://issues.apache.org/jira/browse/IGNITE-28834)
    
    Wrap the load loops / time-boxed durations of the heaviest tests that
    were not honoring `TEST_SCALE_FACTOR` in
    `GridTestUtils.SF.applyLB(...)`, so they scale down on CI (where the
    factor is `0.1`) while keeping a safe lower bound at full scale.
    
    ### Scaled tests
    - `IgniteTxCacheWriteSynchronizationModesMultithreadedTest` — 10s load
    window
    - `TxDeadlockDetectionNoHangsTest` / `TxDeadlockDetectionTest` — 2-min
    run window
    - `IgniteCacheGetRestartTest` — `TEST_TIME` / `KEYS`
    - `CrossCacheTxRandomOperationsTest` — 10s window
    - `SegmentedRingByteBufferTest` — 60s producer/consumer windows
    - `TxPartitionCounterStateConsistencyTest` — 30s restart windows
    - `IgnitePdsTransactionsHangTest` — `DURATION` (kept above warm-up)
    - `CacheFreeListSelfTest` — grow/shrink load (200k → LB 50k)
    - `ConcurrentCheckpointAndUpdateTtlTest` — checkpoint loop
    - `IgniteCachePutAllRestartTest` — 2-min + 60s put windows
    
    Lower bounds keep each scenario meaningful at factor `0.1` (e.g. ≥20s
    for deadlock detection, ≥10s for tx/restart windows, ≥50k entries for
    free-list grow/shrink).
    
    Selection stopped where per-test saving drops below ~1 minute; the
    remaining heavy tests are topology/fan-out bound (no scalable load) and
    are out of scope.
    
    ### Validation
    `mvn clean test-compile -pl modules/core` is green (JDK 17).
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-authored-by: Claude Opus 4.8 <[email protected]>
---
 .../processors/cache/ConcurrentCheckpointAndUpdateTtlTest.java      | 2 +-
 .../internal/processors/cache/CrossCacheTxRandomOperationsTest.java | 3 ++-
 .../internal/processors/cache/IgniteCachePutAllRestartTest.java     | 6 +++---
 .../processors/cache/distributed/IgniteCacheGetRestartTest.java     | 4 ++--
 .../IgniteTxCacheWriteSynchronizationModesMultithreadedTest.java    | 2 +-
 .../cache/persistence/db/IgnitePdsTransactionsHangTest.java         | 3 ++-
 .../cache/persistence/wal/SegmentedRingByteBufferTest.java          | 6 +++---
 .../cache/transactions/TxDeadlockDetectionNoHangsTest.java          | 2 +-
 .../processors/cache/transactions/TxDeadlockDetectionTest.java      | 2 +-
 .../cache/transactions/TxPartitionCounterStateConsistencyTest.java  | 6 +++---
 .../ignite/internal/processors/database/CacheFreeListSelfTest.java  | 2 +-
 11 files changed, 20 insertions(+), 18 deletions(-)

diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/ConcurrentCheckpointAndUpdateTtlTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/ConcurrentCheckpointAndUpdateTtlTest.java
index bbd515cde7f..0dce369f510 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/ConcurrentCheckpointAndUpdateTtlTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/ConcurrentCheckpointAndUpdateTtlTest.java
@@ -147,7 +147,7 @@ public class ConcurrentCheckpointAndUpdateTtlTest extends 
GridCommonAbstractTest
         }, 1, "touch");
 
         IgniteInternalFuture<?> cpFut = runMultiThreadedAsync(() -> {
-            for (int i = 0; i < 1_000; i++) {
+            for (int i = 0; i < GridTestUtils.SF.applyLB(1_000, 200); i++) {
                 try {
                     forceCheckpoint(F.asList(grid(0), grid(1)));
                 }
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java
index 42975f9c205..d8f8624f1eb 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java
@@ -34,6 +34,7 @@ import 
org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction;
 import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.configuration.NearCacheConfiguration;
 import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.testframework.GridTestUtils;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.apache.ignite.transactions.Transaction;
 import org.apache.ignite.transactions.TransactionConcurrency;
@@ -263,7 +264,7 @@ public class CrossCacheTxRandomOperationsTest extends 
GridCommonAbstractTest {
 
             boolean checkData = fullSync && !optimistic;
 
-            long stopTime = System.currentTimeMillis() + 10_000;
+            long stopTime = System.currentTimeMillis() + 
GridTestUtils.SF.applyLB(10_000, 2_000);
 
             for (int i = 0; i < 10_000; i++) {
                 if (i % 100 == 0) {
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCachePutAllRestartTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCachePutAllRestartTest.java
index 3c4bfe32a4d..306c8abea41 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCachePutAllRestartTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCachePutAllRestartTest.java
@@ -125,7 +125,7 @@ public class IgniteCachePutAllRestartTest extends 
GridCommonAbstractTest {
         try {
             ThreadLocalRandom rnd = ThreadLocalRandom.current();
 
-            long endTime = System.currentTimeMillis() + 2 * 60_000;
+            long endTime = System.currentTimeMillis() + 
GridTestUtils.SF.applyLB(2 * 60_000, 20_000);
 
             while (System.currentTimeMillis() < endTime) {
                 int node = rnd.nextInt(1, NODES);
@@ -151,7 +151,7 @@ public class IgniteCachePutAllRestartTest extends 
GridCommonAbstractTest {
 
         ThreadLocalRandom rnd = ThreadLocalRandom.current();
 
-        long endTime = System.currentTimeMillis() + 2 * 60_000;
+        long endTime = System.currentTimeMillis() + GridTestUtils.SF.applyLB(2 
* 60_000, 20_000);
 
         while (System.currentTimeMillis() < endTime) {
             int node = rnd.nextInt(0, NODES);
@@ -168,7 +168,7 @@ public class IgniteCachePutAllRestartTest extends 
GridCommonAbstractTest {
 
                     Random rnd = new Random();
 
-                    long endTime = System.currentTimeMillis() + 60_000;
+                    long endTime = System.currentTimeMillis() + 
GridTestUtils.SF.applyLB(60_000, 10_000);
 
                     try {
                         int iter = 0;
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheGetRestartTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheGetRestartTest.java
index cd1f17bb348..20a18bf2d33 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheGetRestartTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheGetRestartTest.java
@@ -47,7 +47,7 @@ import static 
org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
  */
 public class IgniteCacheGetRestartTest extends GridCommonAbstractTest {
     /** */
-    private static final long TEST_TIME = 60_000;
+    private static final long TEST_TIME = GridTestUtils.SF.applyLB(60_000, 
10_000);
 
     /** */
     private static final int SRVS = 3;
@@ -56,7 +56,7 @@ public class IgniteCacheGetRestartTest extends 
GridCommonAbstractTest {
     private static final int CLIENTS = 1;
 
     /** */
-    private static final int KEYS = 100_000;
+    private static final int KEYS = GridTestUtils.SF.applyLB(100_000, 10_000);
 
     /** */
     private ThreadLocal<Boolean> client = new ThreadLocal<>();
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxCacheWriteSynchronizationModesMultithreadedTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxCacheWriteSynchronizationModesMultithreadedTest.java
index a97158ada72..a3c805ea944 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxCacheWriteSynchronizationModesMultithreadedTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxCacheWriteSynchronizationModesMultithreadedTest.java
@@ -305,7 +305,7 @@ public class 
IgniteTxCacheWriteSynchronizationModesMultithreadedTest extends Gri
      * @throws Exception If failed.
      */
     private void commitMultithreaded(final IgniteBiInClosure<Ignite, 
IgniteCache<Integer, Integer>> c) throws Exception {
-        final long stopTime = System.currentTimeMillis() + 10_000;
+        final long stopTime = System.currentTimeMillis() + 
GridTestUtils.SF.applyLB(10_000, 2_000);
 
         GridTestUtils.runMultiThreaded(new IgniteInClosure<Integer>() {
             @Override public void apply(Integer idx) {
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsTransactionsHangTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsTransactionsHangTest.java
index 5aa594fa5c6..bf95ec1bd17 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsTransactionsHangTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsTransactionsHangTest.java
@@ -40,6 +40,7 @@ import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.configuration.TransactionConfiguration;
 import 
org.apache.ignite.internal.processors.cache.transactions.IgniteTxManager;
 import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.testframework.GridTestUtils;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.apache.ignite.transactions.Transaction;
 import org.apache.ignite.transactions.TransactionIsolation;
@@ -68,7 +69,7 @@ public class IgnitePdsTransactionsHangTest extends 
GridCommonAbstractTest {
     public static final int WARM_UP_PERIOD = 20;
 
     /** Duration. */
-    public static final int DURATION = 180;
+    public static final int DURATION = GridTestUtils.SF.applyLB(180, 40);
 
     /** Maximum count of inserted keys. */
     public static final int MAX_KEY_COUNT = 500_000;
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/SegmentedRingByteBufferTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/SegmentedRingByteBufferTest.java
index 22de6e1076a..3f0e96c7a65 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/SegmentedRingByteBufferTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/SegmentedRingByteBufferTest.java
@@ -384,7 +384,7 @@ public class SegmentedRingByteBufferTest extends 
GridCommonAbstractTest {
                 }
             }, producerCnt, "producer-thread");
 
-            long endTime = System.currentTimeMillis() + 60 * 1000L;
+            long endTime = System.currentTimeMillis() + 
GridTestUtils.SF.applyLB(60 * 1000, 10_000);
 
             while (System.currentTimeMillis() < endTime && ex.get() == null) {
                 while (restartBarrier.getNumberWaiting() != producerCnt && 
ex.get() == null)
@@ -487,7 +487,7 @@ public class SegmentedRingByteBufferTest extends 
GridCommonAbstractTest {
 
             Random rnd = new Random();
 
-            long endTime = System.currentTimeMillis() + 60 * 1000L;
+            long endTime = System.currentTimeMillis() + 
GridTestUtils.SF.applyLB(60 * 1000, 10_000);
 
             while (System.currentTimeMillis() < endTime && ex.get() == null) {
                 try {
@@ -591,7 +591,7 @@ public class SegmentedRingByteBufferTest extends 
GridCommonAbstractTest {
 
             Random rnd = new Random();
 
-            long endTime = System.currentTimeMillis() + 60 * 1000L;
+            long endTime = System.currentTimeMillis() + 
GridTestUtils.SF.applyLB(60 * 1000, 10_000);
 
             while (System.currentTimeMillis() < endTime && ex.get() == null) {
                 try {
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxDeadlockDetectionNoHangsTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxDeadlockDetectionNoHangsTest.java
index 2328a2db413..b07e5ac23ed 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxDeadlockDetectionNoHangsTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxDeadlockDetectionNoHangsTest.java
@@ -182,7 +182,7 @@ public class TxDeadlockDetectionNoHangsTest extends 
GridCommonAbstractTest {
                 }
             }, 1, "restart-thread");
 
-            long stopTime = System.currentTimeMillis() + 2 * 60_000L;
+            long stopTime = System.currentTimeMillis() + 
GridTestUtils.SF.applyLB(2 * 60_000, 20_000);
 
             for (int i = 0; System.currentTimeMillis() < stopTime; i++) {
                 boolean detectionEnabled = 
grid(0).context().cache().context().tm().deadlockDetectionEnabled();
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxDeadlockDetectionTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxDeadlockDetectionTest.java
index 7781d24dfac..708f87ee24e 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxDeadlockDetectionTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxDeadlockDetectionTest.java
@@ -131,7 +131,7 @@ public class TxDeadlockDetectionTest extends 
GridCommonAbstractTest {
                 }
             }, 1, "restart-thread");
 
-            long stopTime = System.currentTimeMillis() + 2 * 60_000L;
+            long stopTime = System.currentTimeMillis() + 
GridTestUtils.SF.applyLB(2 * 60_000, 20_000);
 
             for (int i = 0; System.currentTimeMillis() < stopTime; i++) {
                 log.info(">>> Iteration " + i);
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxPartitionCounterStateConsistencyTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxPartitionCounterStateConsistencyTest.java
index 28b53c3cb36..c0bc58ee0b2 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxPartitionCounterStateConsistencyTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxPartitionCounterStateConsistencyTest.java
@@ -274,7 +274,7 @@ public class TxPartitionCounterStateConsistencyTest extends 
TxPartitionCounterSt
 
         List<Integer> primaryKeys = 
primaryKeys(prim.cache(DEFAULT_CACHE_NAME), 10_000);
 
-        long stop = U.currentTimeMillis() + 30_000;
+        long stop = U.currentTimeMillis() + GridTestUtils.SF.applyLB(30_000, 
10_000);
 
         Random r = new Random();
 
@@ -326,7 +326,7 @@ public class TxPartitionCounterStateConsistencyTest extends 
TxPartitionCounterSt
 
         assertFalse(backups.contains(prim));
 
-        long stop = U.currentTimeMillis() + 30_000;
+        long stop = U.currentTimeMillis() + GridTestUtils.SF.applyLB(30_000, 
10_000);
 
         long seed = System.nanoTime();
 
@@ -390,7 +390,7 @@ public class TxPartitionCounterStateConsistencyTest extends 
TxPartitionCounterSt
 
         assertFalse(backups.contains(prim));
 
-        long stop = U.currentTimeMillis() + 30_000;
+        long stop = U.currentTimeMillis() + GridTestUtils.SF.applyLB(30_000, 
10_000);
 
         long seed = System.nanoTime();
 
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/database/CacheFreeListSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/database/CacheFreeListSelfTest.java
index d714f666aac..8817a3ba49e 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/database/CacheFreeListSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/database/CacheFreeListSelfTest.java
@@ -294,7 +294,7 @@ public class CacheFreeListSelfTest extends 
GridCommonAbstractTest {
 
                 Random rnd = ThreadLocalRandom.current();
 
-                for (int i = 0; i < 200_000; i++) {
+                for (int i = 0; i < GridTestUtils.SF.applyLB(200_000, 50_000); 
i++) {
                     boolean grow0 = grow.get();
 
                     if (grow0) {

Reply via email to