Apache Software Foundation / SeaTunnel
Merged upstreamCorrectnessMerged Sep 5, 2026

Wrap SQS JSON parse failures with connector diagnostics

Normalized Amazon SQS JSON parse failures under the connector's `AmazonSqs-01` error boundary while retaining the underlying format and parser causes.

apache/seatunnel · #12085

Operational diagnostics fix

Malformed JSON from Amazon SQS now surfaces through SeaTunnel's connector-specific error contract without masking unrelated runtime failures.

Problem

SeaTunnel's JSON format translated malformed payloads into `SeaTunnelRuntimeException` with `COMMON-02`, while the Amazon SQS adapter caught only `IOException`. The failure therefore bypassed the connector's own diagnostic type and error code.

Approach

Intercepts only runtime exceptions carrying `JSON_OPERATION_FAILED`, routes them through the existing parse-error handler, and preserves the complete cause chain. Other runtime failures and downstream collection errors remain outside the catch boundary.

Impact and scope

  • Gives monitoring and operator tooling one stable Amazon SQS error code for deserialization failures.
  • Retains the original format-level and parser exceptions for root-cause diagnosis.
  • Avoids broad exception handling that could misclassify or suppress unrelated connector defects.

Validation

  • Added factory-to-reader coverage for the full connector, format, and parser cause chain with no emitted or deleted message.
  • Added a negative regression proving non-JSON runtime failures still propagate unchanged; all 12 module tests passed on Java 8 and Java 11.
  • Module verification and all final CI checks passed; the authored, GitHub-verified merge credits Goutam Adwant and received explicit maintainer approval.