Skip to content

Run JDBC tests in Testcontainers (MVP)#91

Merged
ostinru merged 4 commits intoapache:mainfrom
ostinru:jdbc-testcontainers-minimal
Apr 3, 2026
Merged

Run JDBC tests in Testcontainers (MVP)#91
ostinru merged 4 commits intoapache:mainfrom
ostinru:jdbc-testcontainers-minimal

Conversation

@ostinru
Copy link
Copy Markdown
Collaborator

@ostinru ostinru commented Apr 1, 2026

Add testcontainers-bassed automation tests

For new tests I used testcontainers. This is a shift in the way we running automation tests:

  • new tests run on host machine (you can run tests from your IDE)
    +----------------------------------------------------------------+
    |                              Host                              |
    |  +-------------------------------+  +-----------------------+  |
    |  |           Docker              |  |        Docker         |  |
    |  |   [Cloudberry] --> [PXF] ------------>  [Database]       |  |
    |  |                               |  |                       |  |
    |  +-------------------------------+  +-----------------------+  |
    |                                                                |
    |                         [Automation]                           |
    +----------------------------------------------------------------+
    
  • new test framework manages Docker containers on its own:
    • it will start only required containers
    • all test-specific code is located near test (not in a single bash-file)
    • it opens a way to run highly custom containers (kerberos tests?)
  • No jSystemCore. This framework have not active development for couple years. New classes uses same TestObject pattern, but have no direct dependency on jSystemCore.

Containers

New framework uses shrinked version of pxf-cbdb-dev:

  • no hadoop ecosystem in the same container
  • no more file permission issues - we copy files to container instead of mapping (binding) them in RW mode
  • faster cloudberry + PXF builds:
    • no pxf-cli - it is unused
    • gradle is baked into docker image - no downloads during container run
    • map system-wide gradle cache to container as RO cache

@ostinru ostinru marked this pull request as ready for review April 1, 2026 08:39
@ostinru
Copy link
Copy Markdown
Collaborator Author

ostinru commented Apr 1, 2026

This is minimal version of #84 (which is stuck on issues with ClickHouse). Difference:

  1. No Clickhouse tests (they are broken)
  2. Add Rocky Linux 9 support

Copy link
Copy Markdown
Collaborator

@MisterRaindrop MisterRaindrop left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ostinru
Copy link
Copy Markdown
Collaborator Author

ostinru commented Apr 3, 2026

For some reason bunch of Parquet* tests failed on Rocky Linux. I don't think that one jdbc test can lead these tests failure.

@ostinru ostinru merged commit d9bded0 into apache:main Apr 3, 2026
197 of 221 checks passed
@ostinru ostinru deleted the jdbc-testcontainers-minimal branch April 3, 2026 11:17
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.

2 participants