tkobayas commented on PR #6864:
URL: https://github.com/apache/incubator-kie/pull/6864#issuecomment-5263112861

   # Parallel Test Concerns: `-T 4` Results
   
   ## Java 17 Performance Comparison
   
   | | Baseline (sequential) | `-T 2` | `-T 4` |
   |---|---|---|---|
   | Phase 1 (install) | — | 43 min | 33 min |
   | Phase 2 (test) | — | 1h48m | 1h08m |
   | **Total** | **~2h32m** | **2h31m** | **1h41m** |
   | vs Baseline | — | -1 min (nearly same) | **-51 min (faster)** |
   
   `-T 4` achieves a **34% speedup** over baseline on Java 17. The `-T 2` 
approach was nearly the same as baseline. `-T 4` provides enough parallelism to 
deliver a significant improvement.
   
   ## Java 21 Issue: Forked Process Hang
   
   Java 21 with `-T 4` **hung for 28 minutes** after all tests completed, then 
GHA cancelled the step.
   
   **Root cause**: Spring Boot invoker test modules (848–853) run nested Maven 
builds that start application subprocesses. Under `-T 4` CPU contention on 
4-core GHA runners, one of these subprocesses did not terminate cleanly. Maven 
waited indefinitely for the hung process. GHA orphan process cleanup at job end 
confirmed 2 java + 1 sh process were still running.
   
   This is the same failure pattern as the already-disabled MongoDB integration 
test module ("Forked process hang"). The issue only occurred on Java 21 — Java 
17 completed cleanly. Java 21's different runtime behavior (virtual threads, 
GC) under CPU contention may affect process shutdown timing.
   
   **Impact**: Java 21 Phase 2 timing (~2h01m) is unreliable because the build 
was cancelled, not completed. The actual test execution finished by 04:40 
(within ~1h32m of Phase 2 start), but Maven hung waiting for the forked process.
   
   ## Disabled Tests (11 total for `-T 4`)
   
   8 tests disabled for `-T 2` (carried over) plus 3 new for `-T 4`:
   
   | Test | How | Why | New for `-T 4` |
   |------|-----|-----|---|
   | `OptaPlannerDevUITest` | `<skipTests>` in pom | DevUI WebSocket port 
mismatch | |
   | `QuarkusEventThreadPoolTest` | `@Disabled` | Thread pool timing 
sensitivity | |
   | `QuarkusTransactionRollbackTest` | `@Disabled` | Transaction status race 
condition | |
   | `ProcessDataIndexPostgreSqlIT` | `@Disabled` | Testcontainers startup 
timeout | |
   | `VertxJobSchedulerTest.testExactTime` | `@Disabled` | Timing-sensitive 
assertion | |
   | `JDBCOptimisticLockingIT` | `@Disabled` | Awaitility timeout | |
   | `KSinkInjectionHealthCheckDisabledIT` | `@Disabled` | Re-augmentation 
ClassNotFoundException (Java 21) | |
   | MongoDB integration test module | `<skipTests>` + `<skipITs>` in pom | 
Forked process hang | |
   | `KSinkInjectionHealthCheckEnabledIT` | `@Disabled` | Re-augmentation 
ClassNotFoundException | Yes |
   | `JDBCPersistenceIT.testAsyncWIH` | `@Disabled` override | Awaitility 
timeout under CPU contention | Yes |
   | `MavenDeployTest` | `@Disabled` | UnsupportedClassVersionError under `-T 
4` (Java 17 only) | Yes |
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to