Repository navigation
Conversation
gnodet-bot
left a comment
There was a problem hiding this comment.
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.
…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>
22ee4e2 to
eace52e
Compare
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
|
🧪 CI tested the following changed modules:
🔁 1 test passed only after a retry on JDK 21 (1 retried attempt) Recovered flaky tests on JDK 21 (1)
🔬 Scalpel shadow comparison — Scalpel: 19 of 707 tested, 2 compile-only — current: 19 all testedMaveniverse 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)
Modules with tests skipped (2)
All tested modules (46 modules, 8m 0s total)Total reactor time: 8m 0s
Top 20 slowest modules:
|
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
left a comment
There was a problem hiding this comment.
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>
…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>
|
Merged to main as 6135c14 (squashed together with the other body type bug batches, tested together locally). Claude Code on behalf of davsclaus |
… 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.
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.
SendMessageBatchResponsewith the entries of all the requests, not the last one only; non-String elements are convertedkeyName, as the other operations doPathbody is one record with the file content; a body that does not convert fails withInvalidPayloadException(was an NPE)CamelAwsDdbNextTokendocumented; DescribeTable/DeleteTable no longer setCamelAwsDdbTableName, which sent the next step to that table; UpdateTable sets its result headers; Query/Scan ask for the consumed capacity; ddbstream lists its headers; docsaws2-ddb:application-jsontransformer takes the operation from the route only (header oroperationexchange property); without one the endpoint's operation applies; a bodyoperationfield fails unless it matches the routeMetricDatumis sent, other elements fail clearly; aDatetimestamp is used; the unit matches in any caseCamelExecutionExceptionwhen EventBridge rejects the event; no body throwsInvalidPayloadExceptionitself; resource ARNs trimmed; putRule without a pattern fails clearly; docsRawMessagebody is sent withsendRawEmail, aSendRawEmailRequestbody as it isbinaryPayload=truestores the bytes of the body (not the Base64 text); getSecret/batchGetSecret givebyte[]for a binary secret and a String for a string secret; theaws:properties function reads a binary secret as UTF-8; batchGetSecret fails on errors; no operation fails clearlyStsAssumeRoleITcreates 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:
CamelAwsDdbOperationheader or theoperationexchange property. The aws-ddb-sink Kamelet sets the property and is not affected.binaryPayload=trueby earlier Camel versions hold the Base64 text of the value and now read back as that text.RawMessagebodies 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