Skip to content

CAMEL-25925: camel-aws - bug fixes for sqs, kinesis, s3, ddb, cw, lambda, eventbridge, ses, secrets-manager, iam and sts - #28365

Closed
davsclaus wants to merge 4 commits into
mainfrom
fix/CAMEL-25925-aws-2a-bugs
Closed

davsclaus wants to merge 4 commits into
mainfrom
fix/CAMEL-25925-aws-2a-bugs

Conversation

@davsclaus

@davsclaus davsclaus commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Claude Code on behalf of davsclaus

Bug fixes for eleven AWS components, found while adding the catalog body types (CAMEL-24961). One commit; every fix has a unit test that failed before it.

JIRA Component Fix
CAMEL-25925 aws2-sqs sendBatchMessage of more than 10 entries: the body is one SendMessageBatchResponse with the entries of all the requests, not the last one only; non-String elements are converted
CAMEL-25936 aws2-s3 headBucket and headObject take the bucket from the endpoint and the key from keyName, as the other operations do
CAMEL-25958 aws2-kinesis a Path body is one record with the file content; a body that does not convert fails with InvalidPayloadException (was an NPE)
CAMEL-26030 aws2-ddb correct catalog types of six headers; CamelAwsDdbNextToken documented; DescribeTable/DeleteTable no longer set CamelAwsDdbTableName, which sent the next step to that table; UpdateTable sets its result headers; Query/Scan ask for the consumed capacity; ddbstream lists its headers; docs
CAMEL-26043 aws2-ddb the aws2-ddb:application-json transformer takes the operation from the route only (header or operation exchange property); without one the endpoint's operation applies; a body operation field fails unless it matches the route
CAMEL-26031 aws2-cw a Collection or array of MetricDatum is sent, other elements fail clearly; a Date timestamp is used; the unit matches in any case
CAMEL-26033 aws2-lambda invokeFunction without a body sends no payload (was an NPE), text in UTF-8; createFunction/updateFunction: the zip file header or S3 location wins over the body, never both, a body that is not the zip fails clearly; docs
CAMEL-26034 aws2-eventbridge putEvent fails with a CamelExecutionException when EventBridge rejects the event; no body throws InvalidPayloadException itself; resource ARNs trimmed; putRule without a pattern fails clearly; docs
CAMEL-26035 aws2-ses Java docs example; cc/bcc for raw mails; no body fails before calling SES; typo
CAMEL-26040 aws2-ses a RawMessage body is sent with sendRawEmail, a SendRawEmailRequest body as it is
CAMEL-26036 aws-secrets-manager binaryPayload=true stores the bytes of the body (not the Base64 text); getSecret/batchGetSecret give byte[] for a binary secret and a String for a string secret; the aws: properties function reads a binary secret as UTF-8; batchGetSecret fails on errors; no operation fails clearly
CAMEL-26037 aws2-iam (+ aws2-kms) access key status in any case; clearer message for an empty pojoRequest body
CAMEL-26038 aws2-sts docs; StsAssumeRoleIT creates its role and is enabled again (run against the test-infra container)

Behaviour changes are in the 4.24 upgrade guide. The ones to note:

  • aws2-ddb JSON transformer: a route that chose the operation in the JSON body must set the CamelAwsDdbOperation header or the operation exchange property. The aws-ddb-sink Kamelet sets the property and is not affected.
  • aws-secrets-manager: binary secrets written with binaryPayload=true by earlier Camel versions hold the Base64 text of the value and now read back as that text.
  • aws2-eventbridge putEvent now fails on a rejected event; aws2-ses RawMessage bodies are sent as raw mails.

Catalog JSON and docs copied, endpoint and component DSLs regenerated. Main only.

The stacked body-type PRs #28314, #28275 and #28251 touch the same endpoints and generated JSON; whichever merges second regenerates.

🤖 Generated with Claude Code

@davsclaus davsclaus added this to the 4.24.0 milestone Oct 23, 2026

@gnodet-bot gnodet-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Bug fixes for eleven AWS components — solid and comprehensive, with thorough test coverage across all affected components and a complete upgrade guide.

Pre-fix test validation: Spot-checked SQS batch, Lambda code/payload, EventBridge, Secrets Manager, Kinesis, and SES — the tests exercise the fixed code paths and cover the failure cases (wrong body type, missing required fields, partial batch errors). All pass pre-fix validation.

No duplicate PRs found.

This review was generated by an AI agent, Hermès on behalf of @gnodet.

davsclaus and others added 2 commits October 23, 2026 23:32
…bda, eventbridge, ses, secrets-manager, iam and sts

CAMEL-25925 aws2-sqs: sendBatchMessage gives the results of all the requests
CAMEL-25936 aws2-s3: headBucket and headObject take the bucket and key from the endpoint and options
CAMEL-25958 aws2-kinesis: a Path body is one record; a body that does not convert fails clearly
CAMEL-26030 aws2-ddb: header types, NextToken, result headers that are inputs, ddbstream headers
CAMEL-26043 aws2-ddb: the JSON transformer leaves the operation to the route or the endpoint
CAMEL-26031 aws2-cw: collections and arrays of MetricDatum, Date timestamp, unit in any case
CAMEL-26033 aws2-lambda: invoke without a body, the code of createFunction and updateFunction
CAMEL-26034 aws2-eventbridge: putEvent fails when the event is rejected
CAMEL-26035 aws2-ses: docs example, cc and bcc of raw mails, no body
CAMEL-26040 aws2-ses: a RawMessage body is sent as a raw mail
CAMEL-26036 aws-secrets-manager: binary secrets store and give their bytes, no operation
CAMEL-26037 aws2-iam: the access key status in any case
CAMEL-26038 aws2-sts: docs, and the assumeRole integration test is enabled

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
…amelExecutionException

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
@davsclaus
davsclaus force-pushed the fix/CAMEL-25925-aws-2a-bugs branch from 22ee4e2 to eace52e Compare October 24, 2026 06:06
@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

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • catalog/camel-catalog
  • components/camel-aws/camel-aws-secrets-manager
  • components/camel-aws/camel-aws2-cw
  • components/camel-aws/camel-aws2-ddb
  • components/camel-aws/camel-aws2-eventbridge
  • components/camel-aws/camel-aws2-iam
  • components/camel-aws/camel-aws2-kinesis
  • components/camel-aws/camel-aws2-kms
  • components/camel-aws/camel-aws2-lambda
  • components/camel-aws/camel-aws2-s3
  • components/camel-aws/camel-aws2-ses
  • components/camel-aws/camel-aws2-sqs
  • components/camel-aws/camel-aws2-sts
  • docs
  • dsl/camel-componentdsl
  • dsl/camel-endpointdsl

🔁 1 test passed only after a retry on JDK 21 (1 retried attempt)

Recovered flaky tests on JDK 21 (1)
Module Test Failed attempts First failure
dsl/camel-jbang/camel-jbang-plugin-tui AiPanelAcpTest.retryReplaysAnAgentCommandWithoutThePrefix 1 Index 1 out of bounds for length 1

ℹ️ These tests did not fail the build. Surefire retried them and they passed.
Retries are enabled project-wide by surefire.rerunFailingTestsCount in parent/pom.xml.


🔬 Scalpel shadow comparison — Scalpel: 19 of 707 tested, 2 compile-only — current: 19 all tested

Maveniverse Scalpel detected 19 affected modules (current approach: 19).

Skip-tests mode would test 19 modules (16 direct + 0 downstream), skip tests for 2 (generated code, meta-modules)

Modules Scalpel would test (19)
  • camel-aws-secrets-manager ← components/camel-aws/camel-aws-secrets-manager/src/generated/resources/META-INF/org/apache/camel/component/aws/secretsmanager/aws-secrets-manager.json, components/camel-aws/camel-aws-secrets-manager/src/main/docs/aws-secrets-manager-component.adoc, components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerConfiguration.java, components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerConstants.java, components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerEndpoint.java, components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerProducer.java, components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunction.java, components/camel-aws/camel-aws-secrets-manager/src/test/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerProducerTest.java, components/camel-aws/camel-aws-secrets-manager/src/test/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerPropertiesFunctionTest.java
  • camel-aws2-cw ← components/camel-aws/camel-aws2-cw/src/generated/resources/META-INF/org/apache/camel/component/aws2/cw/aws2-cw.json, components/camel-aws/camel-aws2-cw/src/main/docs/aws2-cw-component.adoc, components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2Configuration.java, components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2Constants.java, components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2Endpoint.java, components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2Producer.java, components/camel-aws/camel-aws2-cw/src/test/java/org/apache/camel/component/aws2/cw/CloudWatchClientMock.java, components/camel-aws/camel-aws2-cw/src/test/java/org/apache/camel/component/aws2/cw/CwPutMetricDataTest.java
  • camel-aws2-ddb ← components/camel-aws/camel-aws2-ddb/src/generated/resources/META-INF/org/apache/camel/component/aws2/ddb/aws2-ddb.json, components/camel-aws/camel-aws2-ddb/src/generated/resources/META-INF/org/apache/camel/component/aws2/ddbstream/aws2-ddbstream.json, components/camel-aws/camel-aws2-ddb/src/main/docs/aws2-ddb-component.adoc, components/camel-aws/camel-aws2-ddb/src/main/docs/aws2-ddbstream-component.adoc, components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Constants.java, components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/DeleteTableCommand.java, components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/DescribeTableCommand.java, components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/QueryCommand.java, components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/ScanCommand.java, components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/UpdateTableCommand.java, components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/transform/Ddb2JsonDataTypeTransformer.java, components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamEndpoint.java, components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/AmazonDDBClientMock.java, components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/Ddb2JsonDataTypeTransformerRouteTest.java, components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/DeleteTableCommandTest.java, components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/DescribeTableCommandTest.java, components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/QueryCommandTest.java, components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/ScanCommandTest.java, components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/UpdateTableCommandTest.java, components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/localstack/AWS2BatchGetItemsRuleIT.java, components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/localstack/AWS2DeleteTableRuleIT.java, components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/localstack/AWS2DescribeTableRuleIT.java, components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/transform/Ddb2JsonDataTypeTransformerTest.java
  • camel-aws2-eventbridge ← components/camel-aws/camel-aws2-eventbridge/src/generated/resources/META-INF/org/apache/camel/component/aws2/eventbridge/aws2-eventbridge.json, components/camel-aws/camel-aws2-eventbridge/src/main/docs/aws2-eventbridge-component.adoc, components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeConstants.java, components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeEndpoint.java, components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java, components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducerTest.java
  • camel-aws2-iam ← components/camel-aws/camel-aws2-iam/src/generated/resources/META-INF/org/apache/camel/component/aws2/iam/aws2-iam.json, components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Constants.java, components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Producer.java, components/camel-aws/camel-aws2-iam/src/test/java/org/apache/camel/component/aws2/iam/AmazonIAMClientMock.java, components/camel-aws/camel-aws2-iam/src/test/java/org/apache/camel/component/aws2/iam/IAMProducerTest.java
  • camel-aws2-kinesis ← components/camel-aws/camel-aws2-kinesis/src/main/docs/aws2-kinesis-component.adoc, components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Producer.java, components/camel-aws/camel-aws2-kinesis/src/test/java/org/apache/camel/component/aws2/kinesis/Kinesis2ProducerTest.java
  • camel-aws2-kms ← components/camel-aws/camel-aws2-kms/src/main/java/org/apache/camel/component/aws2/kms/KMS2Producer.java, components/camel-aws/camel-aws2-kms/src/test/java/org/apache/camel/component/aws2/kms/KMSProducerTest.java
  • camel-aws2-lambda ← components/camel-aws/camel-aws2-lambda/src/generated/resources/META-INF/org/apache/camel/component/aws2/lambda/aws2-lambda.json, components/camel-aws/camel-aws2-lambda/src/main/docs/aws2-lambda-component.adoc, components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2Configuration.java, components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2Constants.java, components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2Endpoint.java, components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2Producer.java, components/camel-aws/camel-aws2-lambda/src/test/java/org/apache/camel/component/aws2/lambda/AmazonLambdaClientMock.java, components/camel-aws/camel-aws2-lambda/src/test/java/org/apache/camel/component/aws2/lambda/LambdaProducerCodeAndPayloadTest.java
  • camel-aws2-s3 ← components/camel-aws/camel-aws2-s3/src/main/docs/aws2-s3-producer-operations.adoc, components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Producer.java, components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/AWS2S3ProducerHeadOperationsTest.java
  • camel-aws2-ses ← components/camel-aws/camel-aws2-ses/src/generated/resources/META-INF/org/apache/camel/component/aws2/ses/aws2-ses.json, components/camel-aws/camel-aws2-ses/src/main/docs/aws2-ses-component.adoc, components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2Constants.java, components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2Endpoint.java, components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2Producer.java, components/camel-aws/camel-aws2-ses/src/test/java/org/apache/camel/component/aws2/ses/SesComponentTest.java
  • camel-aws2-sqs ← components/camel-aws/camel-aws2-sqs/src/main/docs/aws2-sqs-component.adoc, components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java, components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/SqsProducerBatchTest.java
  • camel-aws2-sts ← components/camel-aws/camel-aws2-sts/src/main/docs/aws2-sts-component.adoc, components/camel-aws/camel-aws2-sts/src/test/java/org/apache/camel/component/aws2/sts/integration/StsAssumeRoleIT.java, own pom components/camel-aws/camel-aws2-sts/pom.xml changed
  • camel-jbang-mcp ← depends on affected reactor module org.apache.camel:camel-yaml-dsl
  • camel-jbang-plugin-mcp ← depends on affected reactor module org.apache.camel:camel-jbang-core
  • camel-jbang-plugin-tui ← depends on affected reactor module org.apache.camel:camel-yaml-dsl-validator
  • camel-jbang-plugin-validate ← depends on affected reactor module org.apache.camel:camel-yaml-dsl-validator
  • camel-launcher-container ← depends on affected reactor module org.apache.camel:camel-launcher
  • camel-yaml-dsl-validator ← depends on affected reactor module org.apache.camel:camel-catalog
  • camel-yaml-dsl-validator-maven-plugin ← depends on affected reactor module org.apache.camel:camel-yaml-dsl-validator
Modules with tests skipped (2)
  • camel-itest
  • camel-yaml-dsl-deserializers

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

All tested modules (46 modules, 8m 0s total)

Total reactor time: 8m 0s

Module Duration Status
Camel :: JBang :: Plugin :: TUI 58.9s SUCCESS
Camel :: AWS2 Kinesis 51.2s SUCCESS
Camel :: Launcher 30.0s SUCCESS
Camel :: AWS2 DDB 24.8s SUCCESS
Camel :: AWS2 Lambda 24.5s SUCCESS
Camel :: JBang :: Plugin :: Validate 24.4s SUCCESS
Camel :: JBang :: MCP 24.1s SUCCESS
Camel :: AWS2 KMS 19.2s SUCCESS
Camel :: YAML DSL :: Validator 18.9s SUCCESS
Camel :: AWS2 Secrets Manager 18.4s SUCCESS
Camel :: YAML DSL 18.3s SUCCESS
Camel :: Catalog :: Camel Catalog 17.4s SUCCESS
Camel :: AWS2 IAM 17.3s SUCCESS
Camel :: Kamelet Main 14.7s SUCCESS
Camel :: Component DSL 14.0s SUCCESS
Camel :: AWS2 STS 11.9s SUCCESS
Camel :: Docs 11.3s SUCCESS
Camel :: JBang :: Plugin :: Kubernetes 9.1s SUCCESS
Camel :: AWS2 Eventbridge 9.0s SUCCESS
Camel :: JBang :: Plugin :: Testing 8.5s SUCCESS
Camel :: AWS2 SES 8.4s SUCCESS
Camel :: AWS2 CW 8.1s SUCCESS
Camel :: Catalog :: Camel Route Parser 5.6s SUCCESS
Camel :: Catalog :: Camel Report Maven Plugin 5.3s SUCCESS
Camel :: YAML DSL :: Deserializers 4.8s SUCCESS
Camel :: All Components Sync point 4.0s SUCCESS
Camel :: YAML DSL :: Validator Maven Plugin 3.4s SUCCESS
Camel :: Catalog :: Maven 2.1s SUCCESS
Camel :: YAML DSL :: Maven Plugins 1.9s SUCCESS
Camel :: Catalog :: Suggest (deprecated) 1.8s SUCCESS
Camel :: Assembly 1.5s SUCCESS
Camel :: JBang :: Plugin :: Generate 1.1s SUCCESS
Camel :: Coverage 1.0s SUCCESS
Camel :: JBang :: Plugin :: Edit 0.8s SUCCESS
Camel :: Catalog :: Console 0.8s SUCCESS
Camel :: JBang :: Integration tests 0.8s SUCCESS
Camel :: Endpoint DSL :: Support 0.7s SUCCESS
Camel :: JBang :: Plugin :: MCP 0.6s SUCCESS
Camel :: JBang :: Main 0.6s SUCCESS
Camel :: Launcher :: Container 0.6s SUCCESS
Camel :: Catalog :: Dummy Component 0.5s SUCCESS
Camel :: AWS2 S3 n/a
Camel :: AWS2 SQS n/a
Camel :: Endpoint DSL n/a
Camel :: Integration Tests n/a
Camel :: JBang :: Core n/a

Top 20 slowest modules:

  • Camel :: JBang :: Plugin :: TUI (58.9s)
  • Camel :: AWS2 Kinesis (51.2s)
  • Camel :: Launcher (30.0s)
  • Camel :: AWS2 DDB (24.8s)
  • Camel :: AWS2 Lambda (24.5s)
  • Camel :: JBang :: Plugin :: Validate (24.4s)
  • Camel :: JBang :: MCP (24.1s)
  • Camel :: AWS2 KMS (19.2s)
  • Camel :: YAML DSL :: Validator (18.9s)
  • Camel :: AWS2 Secrets Manager (18.4s)
  • Camel :: YAML DSL (18.3s)
  • Camel :: Catalog :: Camel Catalog (17.4s)
  • Camel :: AWS2 IAM (17.3s)
  • Camel :: Kamelet Main (14.7s)
  • Camel :: Component DSL (14.0s)
  • Camel :: AWS2 STS (11.9s)
  • Camel :: Docs (11.3s)
  • Camel :: JBang :: Plugin :: Kubernetes (9.1s)
  • Camel :: AWS2 Eventbridge (9.0s)
  • Camel :: JBang :: Plugin :: Testing (8.5s)

⚙️ View full build and test results

Main's new body type text is updated where this PR changes the behavior it describes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>

@gnodet-bot gnodet-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

All three changes look solid — good work.

EventBridge — failOnRejectedEvents: correctly throws CamelExecutionException with the exchange, aggregates all rejected entry codes and messages, and the test validates the exception type, message content, and FAILED_ENTRY_COUNT header.

Lambda — determineFunctionCode / determinePayload: mutual exclusivity is properly enforced (throws if both zipFile and s3Location are set), priority order is correct (S3 > zip-file > body), and determinePayload handles all four input types (null, byte[], InputStream, String) cleanly. The 20 dedicated test methods in LambdaProducerCodeAndPayloadTest provide comprehensive coverage.

SQS batch — chunking fix: results are correctly accumulated across all chunks via addAll, producing a single aggregated SendMessageBatchResponse. The test with 25 entries (→ 3 requests: 10+10+5) verifying 6 successful + 6 failed entries confirms the fix end-to-end.

This review was generated by an AI agent, Hermès on behalf of @gnodet.

…e zip, which AWS rejects

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
davsclaus added a commit that referenced this pull request Oct 24, 2026
…bda, eventbridge, ses, secrets-manager, iam and sts (#28365)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
@davsclaus

Copy link
Copy Markdown
Contributor Author

Merged to main as 6135c14 (squashed together with the other body type bug batches, tested together locally).

Claude Code on behalf of davsclaus

@davsclaus davsclaus closed this Oct 24, 2026
@davsclaus
davsclaus deleted the fix/CAMEL-25925-aws-2a-bugs branch October 24, 2026 18:22
Croway added a commit to apache/camel-spring-boot that referenced this pull request Oct 26, 2026
… tests with TABLE_NAME header removal

Camel core no longer sets the CamelAwsDdbTableName header on DeleteTable and
DescribeTable results (apache/camel#28365), so assert it is absent, as the
upstream AWS2DeleteTableRuleIT/AWS2DescribeTableRuleIT now do.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants