Skip to content

[Hotfix] Fix CI Docker API compatibility for Testcontainers#4091

Open
j1wonpark wants to merge 1 commit intoapache:masterfrom
j1wonpark:amoro-fix-ci
Open

[Hotfix] Fix CI Docker API compatibility for Testcontainers#4091
j1wonpark wants to merge 1 commit intoapache:masterfrom
j1wonpark:amoro-fix-ci

Conversation

@j1wonpark
Copy link
Contributor

@j1wonpark j1wonpark commented Feb 15, 2026

Why are the changes needed?

GitHub Actions runner updated its Docker engine to Docker 29+, which raised the minimum API version from 1.24 to 1.44. The docker-java library used by Testcontainers defaults to API version 1.32, causing AmoroAMSTest and Kafka-based Flink tests to fail with:

client version 1.32 is too old. Minimum supported API version is 1.44

This breaks all CI workflows (Core/hadoop2, Core/hadoop3, Deps, Trino).

See: testcontainers/testcontainers-java#11210

Brief change log

  • Add docker-java.properties with api.version=1.44 to amoro-ams and amoro-mixed-flink-common test resources to override docker-java's default API version
  • Upgrade Testcontainers in amoro-ams/pom.xml from 1.17.2/1.19.6 to 1.20.1 (aligned with existing k3s artifact version)
  • Update dev/deps/dependencies-hadoop-2-spark-3.3 to reflect changed transitive dependencies (guava 14.0.1 → 32.1.1-jre, error_prone_annotations 2.10.0 → 2.18.0, added failureaccess, j2objc-annotations, listenablefuture)

Note: Flink modules keep their original Testcontainers versions (1.17.2/1.18.1) to avoid ContainerDef class incompatibility with flink-test-utils-junit's transitive testcontainers:1.18.3. The docker-java.properties approach fixes the Docker API version issue regardless of the Testcontainers version.

How was this patch tested?

  • Verified AmoroAMSTest passes with Docker 29+ after adding docker-java.properties
  • Run test locally before making a pull request

Documentation

  • Does this pull request introduce a new feature? no
  • If yes, how is the feature documented? not applicable

@github-actions github-actions bot added module:mixed-flink Flink moduel for Mixed Format module:ams-server Ams server module type:build type:infra labels Feb 15, 2026
@codecov-commenter
Copy link

codecov-commenter commented Feb 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 28.72%. Comparing base (fda105e) to head (872cbf0).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #4091      +/-   ##
============================================
+ Coverage     22.39%   28.72%   +6.33%     
- Complexity     2552     3947    +1395     
============================================
  Files           458      656     +198     
  Lines         42116    52398   +10282     
  Branches       5917     6642     +725     
============================================
+ Hits           9433    15053    +5620     
- Misses        31871    36244    +4373     
- Partials        812     1101     +289     
Flag Coverage Δ
core 28.72% <ø> (?)
trino ?

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

GitHub Actions runner updated Docker engine to require minimum API
version 1.44, but Testcontainers uses docker-java which defaults to
API version 1.32, causing test failures.

- Upgrade Testcontainers in amoro-ams from 1.17.2/1.19.6 to 1.20.1
- Add docker-java.properties with api.version=1.44 to amoro-ams and
  amoro-mixed-flink-common test resources
- Update dev/deps/dependencies-hadoop-2-spark-3.3 for changed
  transitive dependencies

Signed-off-by: Jiwon Park <jpark92@outlook.kr>
@j1wonpark j1wonpark changed the title [Hotfix] Upgrade Testcontainers to 1.20.1 to fix CI Docker API compatibility [Hotfix] Fix CI Docker API compatibility for Testcontainers Feb 15, 2026
@j1wonpark
Copy link
Contributor Author

@xxubai @zhoujinsong Could you please review this PR?

This fixes CI failures caused by Docker 29+ requiring minimum API version 1.44, which is incompatible with docker-java's default API version 1.32 used by Testcontainers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

module:ams-server Ams server module module:mixed-flink Flink moduel for Mixed Format type:build type:infra

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants