HyukjinKwon opened a new pull request, #56645:
URL: https://github.com/apache/spark/pull/56645
### What changes were proposed in this pull request?
This PR makes the per-database connection timeout in the JDBC docker
integration
tests configurable per database, and raises it to 15 minutes for the Oracle
suite.
- `DatabaseOnDocker` gains an optional `connectionTimeout: Option[String]`
hook
(default `None`).
- `DockerJDBCIntegrationSuite.connectionTimeout` now prefers the database's
override, falling back to the existing
`spark.test.docker.connectionTimeout`
system property (default `10min`). It is changed from a `val` to a `lazy
val`
so that the abstract `db` is initialized before it is read.
- `OracleDatabaseOnDocker` overrides `connectionTimeout` to `15min`.
### Why are the changes needed?
`org.apache.spark.sql.jdbc.v2.OracleIntegrationSuite` intermittently aborts
in
`beforeAll` with:
```
OracleIntegrationSuite *** ABORTED ***
The code passed to eventually never returned normally. Attempted 597 times
over 10.0126086934 minutes. Last failure message:
ORA-12541: Cannot connect. No listener at host ... port 327xx.
```
The Oracle Free container is the heaviest of all the JDBC integration test
databases and intermittently takes longer than the default 10-minute
connection
timeout to fully bootstrap its listener / open the pluggable database. When
that
happens the suite aborts, even though every other DB suite
(MySQL/Postgres/DB2/MsSQL/MariaDB) in the same run passes. This has shown up
on
the scheduled Java 25 master build and on branch-4.2 docker integration runs,
while the same job passed on the immediately preceding daily runs - i.e. it
is
startup-time flakiness, not a code regression.
Giving the Oracle suite more headroom lets the slow container finish coming
up.
This mirrors SPARK-49803, which previously raised the global default to 10
minutes for the same class of flakiness.
### Does this PR introduce _any_ user-facing change?
No. Test-only change.
### How was this patch tested?
**Validated on fork CI (GREEN):**
https://github.com/HyukjinKwon/spark/actions/runs/27923565705
Ran the docker integration tests on a fork; the `OracleIntegrationSuite` no
longer aborts. Validated on fork run:
https://github.com/HyukjinKwon/spark/actions/runs/27923565705
### Was this patch authored or co-authored using generative AI tooling?
Generated-by: Claude (Anthropic) opus 4.8
This pull request and its description were written by Isaac.
--
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]