Skip to content

[backport camel-4.22.x] CAMEL-26343: camel-aws - set the AWS SDK HTTP client explicitly instead of the classpath lookup - #28564

Merged
oscerd merged 1 commit into
apache:camel-4.22.xfrom
oscerd:backport/CAMEL-26343-to-camel-4.22.x
Oct 29, 2026
Merged

oscerd merged 1 commit into
apache:camel-4.22.xfrom
oscerd:backport/CAMEL-26343-to-camel-4.22.x

Conversation

@oscerd

@oscerd oscerd commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Backport of #28563

Cherry-pick of the code and test commit of #28563 onto camel-4.22.x.

Original PR: #28563 - CAMEL-26343: camel-aws - set the AWS SDK HTTP client explicitly instead of the classpath lookup
Original author: @oscerd
Target branch: camel-4.22.x

This PR stays a draft until #28563 is merged. If review changes the fix, I'll refresh this from the merged commit.

The 4.22.3 upgrade-guide note is not part of this backport. Per the backport policy it lives on main, in #28563.

camel-4.22.x uses AWS SDK 2.50.2, the version in the reported failure (apache/camel-kafka-connector#1849). AwsClientBuilderUtil is identical on both branches, and the cherry-pick applied cleanly.

Validation on this branch:

  • mvn verify -f components/camel-aws/pom.xml: the unit tests of all 35 camel-aws modules pass (1682 tests, 0 failures, 0 errors, 181 skipped), including the 4 AwsClientBuilderUtilTest tests against AWS SDK 2.50.2.

Original description

See #28563.

Claude Code on behalf of Andrea Cosentino

🤖 Generated with Claude Code

…ad of the classpath lookup

AwsClientBuilderUtil set an HTTP client on the SDK client builder only
with a proxy or trustAllCertificates. Otherwise the AWS SDK looked the
client up with ServiceLoader, and that lookup fails as a whole when one
registration cannot be loaded, as when a Kafka Connect plugin sees the
apache-client registration of the worker's own AWS SDK
("ApacheSdkHttpService not a subtype").

Set Apache5HttpClient (sync) and NettyNioAsyncHttpClient (async), the
implementations the lookup selects from Camel's dependencies, unless the
AWS SDK setting software.amazon.awssdk.http.service.impl (or
software.amazon.awssdk.http.async.service.impl) names one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
@github-actions

Copy link
Copy Markdown
Contributor

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@github-actions

Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • components/camel-aws/camel-aws-common

ℹ️ Dependent modules were not tested because the total number of affected modules exceeded the threshold (50). Use the test-dependents label to force testing all dependents.


🔬 Scalpel shadow comparison — Scalpel: 43 tested, 29 compile-only — current: 43 all tested

Maveniverse Scalpel detected 72 affected modules (current approach: 43).

⚠️ Modules only in Scalpel (29)
  • apache-camel
  • camel-allcomponents
  • camel-catalog
  • camel-catalog-console
  • camel-catalog-lucene
  • camel-catalog-maven
  • camel-catalog-suggest
  • camel-componentdsl
  • camel-csimple-maven-plugin
  • camel-endpointdsl
  • camel-endpointdsl-support
  • camel-itest
  • camel-jbang-core
  • camel-jbang-it
  • camel-jbang-main
  • camel-jbang-plugin-edit
  • camel-jbang-plugin-generate
  • camel-jbang-plugin-kubernetes
  • camel-jbang-plugin-test
  • camel-kamelet-main
  • camel-launcher
  • camel-report-maven-plugin
  • camel-route-parser
  • camel-yaml-dsl
  • camel-yaml-dsl-deserializers
  • camel-yaml-dsl-maven-plugin
  • coverage
  • docs
  • dummy-component

Skip-tests mode would test 43 modules (1 direct + 42 downstream), skip tests for 29 (generated code, meta-modules)

Modules Scalpel would test (43)
  • camel-aws-bedrock
  • camel-aws-cloudtrail
  • camel-aws-common
  • camel-aws-config
  • camel-aws-parameter-store
  • camel-aws-secrets-manager
  • camel-aws-security-hub
  • camel-aws2-athena
  • camel-aws2-comprehend
  • camel-aws2-cw
  • camel-aws2-ddb
  • camel-aws2-ec2
  • camel-aws2-ecs
  • camel-aws2-eks
  • camel-aws2-eventbridge
  • camel-aws2-iam
  • camel-aws2-kinesis
  • camel-aws2-kms
  • camel-aws2-lambda
  • camel-aws2-mq
  • camel-aws2-msk
  • camel-aws2-polly
  • camel-aws2-redshift
  • camel-aws2-rekognition
  • camel-aws2-s3
  • camel-aws2-s3-vectors
  • camel-aws2-ses
  • camel-aws2-sns
  • camel-aws2-sqs
  • camel-aws2-step-functions
  • camel-aws2-sts
  • camel-aws2-textract
  • camel-aws2-timestream
  • camel-aws2-transcribe
  • camel-aws2-translate
  • camel-jbang-mcp
  • camel-jbang-plugin-mcp
  • camel-jbang-plugin-route-parser
  • camel-jbang-plugin-tui
  • camel-jbang-plugin-validate
  • camel-launcher-container
  • camel-yaml-dsl-validator
  • camel-yaml-dsl-validator-maven-plugin
Modules with tests skipped (29)
  • apache-camel
  • camel-allcomponents
  • camel-catalog
  • camel-catalog-console
  • camel-catalog-lucene
  • camel-catalog-maven
  • camel-catalog-suggest
  • camel-componentdsl
  • camel-csimple-maven-plugin
  • camel-endpointdsl
  • camel-endpointdsl-support
  • camel-itest
  • camel-jbang-core
  • camel-jbang-it
  • camel-jbang-main
  • camel-jbang-plugin-edit
  • camel-jbang-plugin-generate
  • camel-jbang-plugin-kubernetes
  • camel-jbang-plugin-test
  • camel-kamelet-main
  • camel-launcher
  • camel-report-maven-plugin
  • camel-route-parser
  • camel-yaml-dsl
  • camel-yaml-dsl-deserializers
  • camel-yaml-dsl-maven-plugin
  • coverage
  • docs
  • dummy-component

ℹ️ Shadow mode — Scalpel observes but does not affect test execution. Learn more


⚙️ View full build and test results

@oscerd oscerd added this to the 4.22.3 milestone Oct 29, 2026
@oscerd oscerd self-assigned this Oct 29, 2026
@oscerd oscerd added the bug Something isn't working label Oct 29, 2026
@oscerd
oscerd marked this pull request as ready for review October 29, 2026 14:16
@oscerd
oscerd merged commit 6c8fe73 into apache:camel-4.22.x Oct 29, 2026
4 checks passed
@oscerd
oscerd deleted the backport/CAMEL-26343-to-camel-4.22.x branch October 29, 2026 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport indicate that a Pull request is a backport from a fix from the main branch bug Something isn't working components components-aws

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant