Skip to content

Modernize database version testing matrix#1657

Merged
tsegismont merged 9 commits intoeclipse-vertx:masterfrom
tsegismont:modernize-db-matrix
Apr 7, 2026
Merged

Modernize database version testing matrix#1657
tsegismont merged 9 commits intoeclipse-vertx:masterfrom
tsegismont:modernize-db-matrix

Conversation

@tsegismont
Copy link
Copy Markdown
Member

Closes #1645

Update CI and test infrastructure to use currently supported database versions:

  • PostgreSQL: 14, 16, 18 (was 9, 10, 11)
  • MySQL: 8.4 LTS, 9.6 (was 5.6, 5.7, 8.0)
  • MariaDB: 11.8 LTS (was 10.4)
  • MSSQL: 2019, 2022, 2025 (was 2017, 2019, 2025)
  • Oracle: 23-slim-faststart (was 23.3-slim-faststart)
  • DB2: 12.1 (unchanged)

JDK 11 tests baseline version per database (7 jobs)
JDK 25 tests multiple versions comprehensively (11 jobs)

Removed version-specific workarounds for EOL databases and updated PostgreSQL test SSL certificates to 2048-bit for compatibility with PostgreSQL 14+.

Some portions of this content were created with the assistance of IBM Bob.
Some portions of this content were created with the assistance of Claude Code.

Closes eclipse-vertx#1645

Update CI and test infrastructure to use currently supported database versions:
- PostgreSQL: 14, 16, 18 (was 9, 10, 11)
- MySQL: 8.4 LTS, 9.6 (was 5.6, 5.7, 8.0)
- MariaDB: 11.8 LTS (was 10.4)
- MSSQL: 2019, 2022, 2025 (was 2017, 2019, 2025)
- Oracle: 23-slim-faststart (was 23.3-slim-faststart)
- DB2: 12.1 (unchanged)

JDK 11 tests baseline version per database (7 jobs)
JDK 25 tests multiple versions comprehensively (11 jobs)

Removed version-specific workarounds for EOL databases and updated PostgreSQL test SSL certificates to 2048-bit for compatibility with PostgreSQL 14+.

Some portions of this content were created with the assistance of IBM Bob.
Some portions of this content were created with the assistance of Claude Code.

Signed-off-by: Thomas Segismont <tsegismont@gmail.com>
- Fix the list of supported versions
- All the sqlcmd paths and wait strategies are now the same

Signed-off-by: Thomas Segismont <tsegismont@gmail.com>
caching-sha2-password-public-key-path and caching-sha2-password-private-key-path are MySQL specific now.

Signed-off-by: Thomas Segismont <tsegismont@gmail.com>
Signed-off-by: Thomas Segismont <tsegismont@gmail.com>
Starting with PG 18, PGDATA points to /var/lib/postgresql/MAJOR/docker
docker-library/postgres#1259

Using the environment variable, the script works with all DB versions.

Signed-off-by: Thomas Segismont <tsegismont@gmail.com>
In Postgres 14+, the default password encryption is scram-sha-256, not md5.

Signed-off-by: Thomas Segismont <tsegismont@gmail.com>
Add container fixed port sysprop for easy debugging with Wireshark
Set a container wait strategy to make sure the DB is ready for connections

Signed-off-by: Thomas Segismont <tsegismont@gmail.com>
By default, the MySQL Client prefers SSL if available on the server.
But since we have a self-signed certificate for testing, the client does not accept it.

Therefore, it fallbacks to no SSL and creates two connections in total.
That is why a couple metrics test fail, because the test expect only one connection to be closed.

Signed-off-by: Thomas Segismont <tsegismont@gmail.com>
Starting with MySQL 9.5, overflow is reported as an error

Signed-off-by: Thomas Segismont <tsegismont@gmail.com>
@tsegismont tsegismont force-pushed the modernize-db-matrix branch from 153fc10 to dca622d Compare April 7, 2026 10:52
@tsegismont tsegismont marked this pull request as ready for review April 7, 2026 10:53
@tsegismont tsegismont modified the milestone: 5.1.0 Apr 7, 2026
@tsegismont tsegismont merged commit 57fb7f7 into eclipse-vertx:master Apr 7, 2026
19 checks passed
@tsegismont tsegismont deleted the modernize-db-matrix branch April 7, 2026 12:35
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.

Modernize database version testing matrix

1 participant