Skip to content

IGNITE-28857 Split CDC replication test classes to unlock test parallelization#358

Open
anton-vinogradov wants to merge 1 commit into
apache:masterfrom
anton-vinogradov:ignite-28857
Open

IGNITE-28857 Split CDC replication test classes to unlock test parallelization#358
anton-vinogradov wants to merge 1 commit into
apache:masterfrom
anton-vinogradov:ignite-28857

Conversation

@anton-vinogradov

@anton-vinogradov anton-vinogradov commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

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);
  • a small ParamsSliceRunner (built on public JUnit4 API: Suite + BlockJUnit4ClassRunnerWithParameters) runs a subclass over the slice declared by the @ParamsSlice class annotation, so the 12 new leaf classes are empty one-liners like:
/** {@link CdcKafkaReplicationAbstractTest} for the {@code THIN_CLIENT} client type and {@code ATOMIC} caches. */
@ParamsSlice(clientType = THIN_CLIENT, atomicity = ATOMIC)
public class CdcKafkaReplicationThinClientAtomicTest extends CdcKafkaReplicationAbstractTest {
}

No test logic changes; the executed test set and the test names (including the parameters suffix) are byte-for-byte the same, so per-test TeamCity history is preserved. 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 smoke runs of Ignite-to-Ignite, Kafka and Apps slices are green.

https://issues.apache.org/jira/browse/IGNITE-28857

🤖 Generated with Claude Code

…elization

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant