hutiefang76 opened a new pull request, #12659: URL: https://github.com/apache/seatunnel/pull/12659
### Purpose of this pull request Fixes #12656. Stop immediately when the retry condition rejects an exception in non-throwing mode. Previously only the throwing mode exited this branch, allowing the same non-retriable operation to execute again. ### Does this PR introduce _any_ user-facing change? The public utility now returns null after the first non-retriable failure when `shouldThrowException=false`. Retriable failures, successful calls and throwing mode retain their existing behavior. No job configuration option changes; inspected in-tree production callers use throwing mode. ### How was this patch tested? JDK 17: all 7 `RetryUtilsTest` cases passed, covering rejected failures in both modes, retriable exhaustion/recovery, first-attempt success, a null condition and an invalid retry count. The identical cases passed on JDK 8 in the original batch. `./mvnw -pl seatunnel-common -am -Dtest=RetryUtilsTest -Dsurefire.failIfNoSpecifiedTests=false package` `./mvnw spotless:apply` and root `./mvnw -q -DskipTests verify` passed on the independent branch. Root verify skips test execution; it is not a full engine E2E run. ### Check list * [ ] New JAR license/notice changes (not applicable; no new dependencies) * [ ] User documentation (not applicable; internal utility behavior) * [ ] Incompatible-change documentation (not applicable) * [ ] Connector registration/distribution/config changes (not applicable; existing modules) AI assistance: DeepSeek and Codex assisted implementation, tests and this description. -- 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]
