Bound MSSQL testcontainer startup and retry on transient crashes#11845
Bound MSSQL testcontainer startup and retry on transient crashes#11845AlexeyKuznetsov-DD wants to merge 1 commit into
Conversation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b1f96c3189
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| .withStartupTimeoutSeconds(120) | ||
| .withConnectTimeoutSeconds(120) |
There was a problem hiding this comment.
Keep MSSQL's 240-second startup window
On slow or cold CI runners where SQL Server needs more than 120s but less than the previous MSSQLServerContainer 240s default to accept JDBC connections, this now fails both attempts: withStartupAttempts(2) restarts from a fresh container after the first timeout, so the second attempt loses all progress rather than continuing the original startup. That makes the previous 240s success window unavailable and can turn slow-but-valid MSSQL starts into deterministic test failures.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Good catch. That is actually I'm investigating. If those 120 seconds will be a problem I will revert.
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
What Does This Do
Adds
.withStartupTimeoutSeconds(120),.withConnectTimeoutSeconds(120)and.withStartupAttempts(2)to theMSSQLServerContainerinRemoteJDBCInstrumentationTest.Motivation
The SQL Server container occasionally crashes on startup in CI (
exited with code 139/ SIGSEGV).JdbcDatabaseContainerdefaults to a single 240s connection wait, so one bad container burned ~4-5 min per case and blew the:jdbc:forkedTest20-min timeout. Splitting the same 240s budget into two 120s attempts retries with a fresh container, so a transient crash recovers instead of failing the whole run.