Skip to content

fix(sqs): keep RealtimeTrigger polling on transient errors#741

Draft
Malaydewangan09 wants to merge 6 commits into
mainfrom
fix/sqs-realtime-trigger-transient-errors
Draft

fix(sqs): keep RealtimeTrigger polling on transient errors#741
Malaydewangan09 wants to merge 6 commits into
mainfrom
fix/sqs-realtime-trigger-transient-errors

Conversation

@Malaydewangan09

Copy link
Copy Markdown
Member

No description provided.

A single transient error from receiveMessage terminated the polling Flux,
leaving the trigger enabled but silently dead. It now logs the error and
keeps polling with a capped backoff, applies serdeType to emitted messages,
awaits message deletion, and renders properties once per run.
@github-actions

github-actions Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

📦 Artifacts

Name Size Updated Expiration
jar 61.37 MB Jun 11, 26, 12:05:13 PM UTC Jun 18, 26, 12:05:09 PM UTC

🛡 Trivy

Vulnerability in: Java

Vulnerability Severity Package Installed Version Fixed Version
CVE-2026-42583 HIGH io.netty:netty-codec-compression 4.2.12.Final 4.2.13.Final
CVE-2026-42584 HIGH io.netty:netty-codec-http 4.2.12.Final 4.2.13.Final, 4.1.133.Final
CVE-2026-42587 HIGH io.netty:netty-codec-http 4.2.12.Final 4.2.13.Final, 4.1.133.Final
CVE-2026-41417 MEDIUM io.netty:netty-codec-http 4.2.12.Final 4.1.133.Final, 4.2.13.Final
CVE-2026-42580 MEDIUM io.netty:netty-codec-http 4.2.12.Final 4.2.13.Final, 4.1.133.Final
CVE-2026-42581 MEDIUM io.netty:netty-codec-http 4.2.12.Final 4.2.13.Final, 4.1.133.Final
CVE-2026-42585 MEDIUM io.netty:netty-codec-http 4.2.12.Final 4.2.13.Final, 4.1.133.Final
CVE-2026-42587 HIGH io.netty:netty-codec-http2 4.2.12.Final 4.2.13.Final, 4.1.133.Final
CVE-2026-47244 MEDIUM io.netty:netty-codec-http2 4.2.12.Final 4.2.15.Final, 4.1.135.Final
CVE-2026-44249 HIGH io.netty:netty-handler 4.2.12.Final 4.2.15.Final, 4.1.135.Final
CVE-2026-45416 HIGH io.netty:netty-handler 4.2.12.Final 4.2.15.Final, 4.1.135.Final

🧪 Java Unit Tests

TestsPassed ✅Skipped ⚠️FailedTime ⏱
Java Tests Report130 ran128 ✅2 ⚠️0 ❌7m 15s 959ms

🔁 Unreleased Commits

2 commits since v2.6.3

SHA Title Author Date
88ed536 chore(deps): bump com.gradleup.shadow from 9.4.1 to 9.4.2 (#729) dependabot[bot] Jun 10, 26, 6:54:59 AM UTC
c8fa42a chore(deps): bump io.floci:testcontainers-floci from 2.8.0 to 2.9.0 (#734) dependabot[bot] Jun 10, 26, 7:12:24 AM UTC

@github-actions

github-actions Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Tests report quick summary:

success ✅ > tests: 130, success: 128, skipped: 2, failed: 0

unfold for details
Project Status Success Skipped Failed
plugin-aws success ✅ 128 2 0

@Malaydewangan09 Malaydewangan09 changed the title fix(sqs): keep RealtimeTrigger polling on transient errors (#736) fix(sqs): keep RealtimeTrigger polling on transient errors Jun 10, 2026
…ling

Address review on the RealtimeTrigger resilience change:
- delete each message in the same per-message loop; a delete failure logs
  and continues (at-least-once) instead of hitting the backoff path
- classify fatal SqsException codes (bad creds, non-existent queue) and
  fail the trigger visibly instead of retrying forever
- never signal complete() after error() on the sink
- drop invalid dynamic=true on Message.data (now Object) and document it
- purge the queue in the publisher test; add transient-recovery and
  stop-during-backoff regression tests
Extract per-message emit/delete into a helper, deduplicate the test
client setup, and remove comments that restate the code. No behavior
change.
Inline single-use locals, flatten the Flux.create lambda nesting,
collapse isFatal and the backoff sleep, drop now-unused imports.
No behavior change.
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.

1 participant