goutamadwant opened a new pull request, #12038: URL: https://github.com/apache/seatunnel/pull/12038
### Purpose of this pull request Closes #12036. - Make `AmazonSqsDeserializer` fail fast with a connector exception when the configured deserializer throws `IOException` or returns `null`. This prevents the source reader from collecting or deleting an unreadable SQS message. - Add focused reader regression coverage for exception and null results, successful reads with deletion enabled and disabled, collector failure, and a mixed batch that stops at the failed message. The public `SeaTunnelRowDeserializer` signature is unchanged. The fix uses an unchecked connector exception so existing callers and implementations do not acquire a new checked-exception requirement. ### Does this PR introduce _any_ user-facing change? Yes. With `delete_message = true`, an unreadable SQS message previously could be deleted after deserialization silently produced `null`. The source now fails the poll and leaves that message in SQS for its visibility-timeout retry or dead-letter-queue policy. Valid messages and the default `delete_message = false` behavior are unchanged. ### How was this patch tested? - Focused `AmazonSqsSourceReaderTest` on Java 8: 6 tests passed. - Focused `AmazonSqsSourceReaderTest` on Java 11: 6 tests passed. - Full `connector-amazonsqs` unit-test module on Java 8: 7 tests passed. - Full `connector-amazonsqs` unit-test module on Java 11: 7 tests passed. - Repository-wide `./mvnw spotless:apply`: passed across 287 modules. - `git diff --check`: passed. The tests use a deterministic in-memory SQS client boundary and make no network calls. A repository-wide Java 11 `./mvnw -q -DskipTests verify` progressed through the connector, translation, starter, and engine modules. It stopped in the unrelated `seatunnel-engine-ui` module because its npm process-tree helper could not spawn a child process (`spawn EPERM`). This PR has no UI changes, and the standalone Engine UI verification passed outside that restricted process environment. ### Check list * [x] No new Jar binary package is added. * [x] The existing English and Chinese connector documentation already state that deletion follows successful deserialization, so no documentation change is needed. * [x] No incompatible API, configuration, or default-value change is introduced, so `incompatible-changes.md` does not need an update. * [x] This is a fix to an existing connector. Plugin mapping, distribution POM, CI label, and plugin configuration are unchanged; focused regression tests are included. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
