fix(ci): give the backend test fork 120s to shut down
Some checks failed
CI / Unit & Component Tests (pull_request) Failing after 4m56s
CI / OCR Service Tests (pull_request) Successful in 46s
CI / Backend Unit Tests (pull_request) Failing after 16m17s
CI / fail2ban Regex (pull_request) Failing after 2m5s
CI / Semgrep Security Scan (pull_request) Successful in 43s
CI / Compose Bucket Idempotency (pull_request) Successful in 2m7s
SDD Gate / RTM Check (pull_request) Successful in 35s
SDD Gate / Contract Validate (pull_request) Successful in 49s
SDD Gate / Constitution Impact (pull_request) Successful in 32s
Some checks failed
CI / Unit & Component Tests (pull_request) Failing after 4m56s
CI / OCR Service Tests (pull_request) Successful in 46s
CI / Backend Unit Tests (pull_request) Failing after 16m17s
CI / fail2ban Regex (pull_request) Failing after 2m5s
CI / Semgrep Security Scan (pull_request) Successful in 43s
CI / Compose Bucket Idempotency (pull_request) Successful in 2m7s
SDD Gate / RTM Check (pull_request) Successful in 35s
SDD Gate / Contract Validate (pull_request) Successful in 49s
SDD Gate / Constitution Impact (pull_request) Successful in 32s
All 2327 tests pass, but the build went red: after the suite finishes, Surefire calls System.exit(0) and the single reused fork then closes ~32 cached Spring contexts at once — each tearing down a Testcontainers Postgres + HikariCP pool — which overruns Surefire's 30s default post-exit grace. Surefire force-kills the fork and reports a fork timeout (BUILD FAILURE with 0 failures). The session-cleanup InterruptedException and Testcontainers reaper NotFoundException in the log are symptoms of that contended teardown. Set the previously-unset forkedProcessExitTimeoutInSeconds to 120s. This is a different knob from forkedProcessTimeoutInSeconds (total/inactivity), already 600s, which is why the earlier ceiling bumps never addressed this failure. Phase B of #848; the durable fix (singleton Testcontainers Postgres + disabling the Spring Session JDBC cleanup scheduler in tests) follows. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -369,6 +369,12 @@
|
|||||||
<artifactId>maven-surefire-plugin</artifactId>
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
<configuration>
|
<configuration>
|
||||||
<forkedProcessTimeoutInSeconds>600</forkedProcessTimeoutInSeconds>
|
<forkedProcessTimeoutInSeconds>600</forkedProcessTimeoutInSeconds>
|
||||||
|
<!-- Grace period after the test JVM calls System.exit(0). The 30s default is too
|
||||||
|
short: the single reused fork closes ~32 cached Spring contexts at shutdown,
|
||||||
|
each tearing down a Testcontainers Postgres + HikariCP pool, which overruns 30s
|
||||||
|
and makes Surefire kill the fork (BUILD FAILURE despite 0 test failures). This is
|
||||||
|
a different knob from forkedProcessTimeoutInSeconds above. See issue #848. -->
|
||||||
|
<forkedProcessExitTimeoutInSeconds>120</forkedProcessExitTimeoutInSeconds>
|
||||||
<systemPropertyVariables>
|
<systemPropertyVariables>
|
||||||
<junit.jupiter.execution.timeout.default>90 s</junit.jupiter.execution.timeout.default>
|
<junit.jupiter.execution.timeout.default>90 s</junit.jupiter.execution.timeout.default>
|
||||||
</systemPropertyVariables>
|
</systemPropertyVariables>
|
||||||
|
|||||||
Reference in New Issue
Block a user