You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ignite.apache.org by "anton-vinogradov (via GitHub)" <gi...@apache.org> on 2026/07/03 16:52:39 UTC

[PR] IGNITE-28857 Split CDC replication test classes to unlock test parallelization [ignite-extensions]

anton-vinogradov opened a new pull request, #358:
URL: https://github.com/apache/ignite-extensions/pull/358

   The Cdc suite (~41 min, defines the ~46 min RunAllTests wall-clock) is batch-split by the TeamCity Parallel Tests feature, but the split granularity is a test class, and three giant parameterized classes dominate the run: `CdcKafkaReplicationAppsTest` (84 tests, ~41 min), `CdcKafkaReplicationTest` (84, ~39 min), `CdcIgniteToIgniteReplicationTest` (96, ~25 min).
   
   This PR splits each of them into 4 concrete subclasses, each running a single (clientType, atomicity) slice of the parameters matrix:
   - the three classes become abstract `*AbstractTest` (following the existing `CdcPostgreSqlReplicationAbstractTest` naming),
   - 12 new leaf classes (e.g. `CdcKafkaReplicationAppsThinClientAtomicTest`) declare `@Parameterized.Parameters` returning their slice via a new `AbstractReplicationTest.parameters(clientType, atomicity)` helper.
   
   No test logic changes, the executed test set and parameters are exactly the same. The slowest class drops to ~10 min, so the Cdc suite wall-clock is expected to drop to ~11 min and RunAllTests to ~15 min.
   
   Verified locally: full `-Pcheckstyle` build and a smoke run of all 4 Ignite-to-Ignite slices plus Kafka/Apps slices (54 tests) are green.
   
   https://issues.apache.org/jira/browse/IGNITE-28857
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@ignite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] IGNITE-28857 Split CDC replication test classes to unlock test parallelization [ignite-extensions]

Posted by "shishkovilja (via GitHub)" <gi...@apache.org>.
shishkovilja commented on code in PR #358:
URL: https://github.com/apache/ignite-extensions/pull/358#discussion_r3529382206


##########
modules/cdc-ext/src/test/java/org/apache/ignite/cdc/AbstractReplicationTest.java:
##########
@@ -99,38 +98,38 @@
 /** */
 @RunWith(Parameterized.class)
 public abstract class AbstractReplicationTest extends GridCommonAbstractTest {
-    /** Client type to connect to a destination cluster. */
-    @Parameterized.Parameter
-    public ClientType clientType;
+    /** Client type to connect to a destination cluster. Fixed by the concrete subclass constructor. */

Review Comment:
   ```suggestion
       /** Client type to connect to a destination cluster. Initialized in the concrete subclass constructor. */
   ```



##########
modules/cdc-ext/src/test/java/org/apache/ignite/cdc/AbstractReplicationTest.java:
##########
@@ -99,38 +98,38 @@
 /** */
 @RunWith(Parameterized.class)
 public abstract class AbstractReplicationTest extends GridCommonAbstractTest {
-    /** Client type to connect to a destination cluster. */
-    @Parameterized.Parameter
-    public ClientType clientType;
+    /** Client type to connect to a destination cluster. Fixed by the concrete subclass constructor. */
+    protected ClientType clientType;
 
-    /** Cache atomicity mode. */
-    @Parameterized.Parameter(1)
-    public CacheAtomicityMode atomicity;
+    /** Cache atomicity mode. Fixed by the concrete subclass constructor. */

Review Comment:
   ```suggestion
       /** Cache atomicity mode. Initialized in the concrete subclass constructor. */
   ```



##########
modules/cdc-ext/src/test/java/org/apache/ignite/cdc/AbstractReplicationTest.java:
##########
@@ -99,38 +98,38 @@
 /** */
 @RunWith(Parameterized.class)
 public abstract class AbstractReplicationTest extends GridCommonAbstractTest {
-    /** Client type to connect to a destination cluster. */
-    @Parameterized.Parameter
-    public ClientType clientType;
+    /** Client type to connect to a destination cluster. Fixed by the concrete subclass constructor. */
+    protected ClientType clientType;
 
-    /** Cache atomicity mode. */
-    @Parameterized.Parameter(1)
-    public CacheAtomicityMode atomicity;
+    /** Cache atomicity mode. Fixed by the concrete subclass constructor. */
+    protected CacheAtomicityMode atomicity;
 
     /** Cache replication mode. */
-    @Parameterized.Parameter(2)
+    @Parameterized.Parameter
     public CacheMode mode;
 
     /** */
-    @Parameterized.Parameter(3)
+    @Parameterized.Parameter(1)
     public int backups;
 
-    /** @return Test parameters. */
-    @Parameterized.Parameters(name = "clientType={0}, atomicity={1}, mode={2}, backupCnt={3}")
-    public static Collection<?> parameters() {
+    /**
+     * Concrete subclasses fix {@code clientType} and {@code atomicity} in constructors and run a single slice of

Review Comment:
   Lets keep original javadoc, because `clientType` and `atomicity` fields already have notes about initialization in their javadocs.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@ignite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] IGNITE-28857 Split CDC replication test classes to unlock test parallelization [ignite-extensions]

Posted by "anton-vinogradov (via GitHub)" <gi...@apache.org>.
anton-vinogradov commented on PR #358:
URL: https://github.com/apache/ignite-extensions/pull/358#issuecomment-4893182600

   Agreed. The custom runner existed only to keep the old 4-parameter test names, but since (clientType, atomicity) is now encoded in the concrete class name anyway, it is not worth the extra machinery.
   
   Fixed in 73502305: `ParamsSlice`/`ParamsSliceRunner` removed, concrete classes fix `clientType`/`atomicity` in constructors, `@Parameters` reduced to `mode={0}, backupCnt={1}`.
   
   Verified: compilation with checkstyle profile, each concrete class still expands to the same 3 (mode, backupCnt) combinations, smoke run of `CdcIgniteToIgniteReplicationThinClientAtomicTest#testActivePassiveReplication*` is green (9/9).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@ignite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] IGNITE-28857 Split CDC replication test classes to unlock test parallelization [ignite-extensions]

Posted by "anton-vinogradov (via GitHub)" <gi...@apache.org>.
anton-vinogradov commented on code in PR #358:
URL: https://github.com/apache/ignite-extensions/pull/358#discussion_r3529497434


##########
modules/cdc-ext/src/test/java/org/apache/ignite/cdc/AbstractReplicationTest.java:
##########
@@ -99,38 +98,38 @@
 /** */
 @RunWith(Parameterized.class)
 public abstract class AbstractReplicationTest extends GridCommonAbstractTest {
-    /** Client type to connect to a destination cluster. */
-    @Parameterized.Parameter
-    public ClientType clientType;
+    /** Client type to connect to a destination cluster. Fixed by the concrete subclass constructor. */

Review Comment:
   Applied in 48317dee.



##########
modules/cdc-ext/src/test/java/org/apache/ignite/cdc/AbstractReplicationTest.java:
##########
@@ -99,38 +98,38 @@
 /** */
 @RunWith(Parameterized.class)
 public abstract class AbstractReplicationTest extends GridCommonAbstractTest {
-    /** Client type to connect to a destination cluster. */
-    @Parameterized.Parameter
-    public ClientType clientType;
+    /** Client type to connect to a destination cluster. Fixed by the concrete subclass constructor. */
+    protected ClientType clientType;
 
-    /** Cache atomicity mode. */
-    @Parameterized.Parameter(1)
-    public CacheAtomicityMode atomicity;
+    /** Cache atomicity mode. Fixed by the concrete subclass constructor. */

Review Comment:
   Applied in 48317dee.



##########
modules/cdc-ext/src/test/java/org/apache/ignite/cdc/AbstractReplicationTest.java:
##########
@@ -99,38 +98,38 @@
 /** */
 @RunWith(Parameterized.class)
 public abstract class AbstractReplicationTest extends GridCommonAbstractTest {
-    /** Client type to connect to a destination cluster. */
-    @Parameterized.Parameter
-    public ClientType clientType;
+    /** Client type to connect to a destination cluster. Fixed by the concrete subclass constructor. */
+    protected ClientType clientType;
 
-    /** Cache atomicity mode. */
-    @Parameterized.Parameter(1)
-    public CacheAtomicityMode atomicity;
+    /** Cache atomicity mode. Fixed by the concrete subclass constructor. */
+    protected CacheAtomicityMode atomicity;
 
     /** Cache replication mode. */
-    @Parameterized.Parameter(2)
+    @Parameterized.Parameter
     public CacheMode mode;
 
     /** */
-    @Parameterized.Parameter(3)
+    @Parameterized.Parameter(1)
     public int backups;
 
-    /** @return Test parameters. */
-    @Parameterized.Parameters(name = "clientType={0}, atomicity={1}, mode={2}, backupCnt={3}")
-    public static Collection<?> parameters() {
+    /**
+     * Concrete subclasses fix {@code clientType} and {@code atomicity} in constructors and run a single slice of

Review Comment:
   Restored the original javadoc in 48317dee.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@ignite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] IGNITE-28857 Split CDC replication test classes to unlock test parallelization [ignite-extensions]

Posted by "anton-vinogradov (via GitHub)" <gi...@apache.org>.
anton-vinogradov commented on PR #358:
URL: https://github.com/apache/ignite-extensions/pull/358#issuecomment-4894224017

   check - https://ci2.ignite.apache.org/buildConfiguration/IgniteExtensions_Tests_RunAllTests/9182807?buildTab=dependencies&type=snapshot&mode=timeline


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@ignite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] IGNITE-28857 Split CDC replication test classes to unlock test parallelization [ignite-extensions]

Posted by "anton-vinogradov (via GitHub)" <gi...@apache.org>.
anton-vinogradov merged PR #358:
URL: https://github.com/apache/ignite-extensions/pull/358


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@ignite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org