corgy-w opened a new pull request, #10400:
URL: https://github.com/apache/seatunnel/pull/10400

   ### Purpose of this pull request
   
   Improve the diagnosability of JDBC flush failures in the connector-jdbc 
sink. The connection-loss handling/retry logic itself was already merged in 
#2379/#2380; this PR adds the missing **diagnostic logging** around it, so 
production issues (e.g. AWS RDS connection resets) can be root-caused from logs 
alone:
   
   - On flush failure, log the **complete SQLState list** collected from the 
whole exception chain (`findSqlExceptions`, including 
`BatchUpdateException#getNextException` chain) so a vendor error like 
`08S01`/`08003` is visible even when wrapped.
   - Log **`needReestablish`** — whether the failure triggered the existing 
reconnect path (`shouldRefreshExecutor`).
   - If the connection validation itself (`shouldRefreshExecutor` → 
`isConnectionValid()`) throws, treat the connection as broken (`needReestablish 
= true`) and reconnect, instead of failing the flush outright.
   - Log **when a reconnection is initiated and when it succeeds**, so retry 
behavior is observable.
   
   This is a re-opening of the previously closed PR #10400 as a focused 
follow-up diff per the committer's suggestion, rebased on the latest `dev`.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No. It only adds log statements and makes the connection-validation failure 
path retry instead of failing (no config/API change).
   
   ### How was this patch tested?
   
   - `spotless:apply` clean (verified with JDK 11)
   - `./mvnw -DskipTests install -pl seatunnel-connectors-v2/connector-jdbc 
-am` builds successfully
   
   ### Check list
   
   * [ ] If any new Jar binary package adding in your PR, please add License 
Notice according
     [New License 
Guide](https://github.com/apache/seatunnel/blob/dev/docs/en/developer/new-license.md)
   * [ ] If necessary, please update the documentation to describe the new 
feature. https://github.com/apache/seatunnel/tree/dev/docs
   * [ ] If necessary, please update `incompatible-changes.md` to describe the 
incompatibility caused by this PR.
   * [ ] If you are contributing the connector code, please check that the 
following files are updated:
     1. Update 
[plugin-mapping.properties](https://github.com/apache/seatunnel/blob/dev/plugin-mapping.properties)
 and add new connector information in it
     2. Update the pom file of 
[seatunnel-dist](https://github.com/apache/seatunnel/blob/dev/seatunnel-dist/pom.xml)
     3. Add ci label in 
[label-scope-conf](https://github.com/apache/seatunnel/blob/dev/.github/workflows/labeler/label-scope-conf.yml)
     4. Add e2e testcase in 
[seatunnel-e2e](https://github.com/apache/seatunnel/tree/dev/seatunnel-e2e/seatunnel-connector-v2-e2e/)
     5. Update connector 
[plugin_config](https://github.com/apache/seatunnel/blob/dev/config/plugin_config)
   


-- 
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]

Reply via email to