rishi-rana commented on PR #39882:
URL: https://github.com/apache/shardingsphere/pull/39882#issuecomment-6538183565

   Thanks, addressed in a19dce6084a.
   
   **1. Support contract still needs acceptance**
   
   No code action possible here — same as before, flagging it's still open 
rather than re-arguing it.
   
   **2. Removing a logical database can prevent transaction cleanup**
   
   Confirmed and fixed. `DeferredMetaDataRefreshContext.reconcile()` now skips 
a deferred table whose database no longer exists instead of passing `null` into 
`ContextManager#reconcileTable`, which threw an uncaught NPE (including from 
its own error logger) and skipped the rest of commit's cleanup. Added 
`assertReconcileSkipsTableWhoseDatabaseNoLongerExists`, verified it fails 
against the unguarded code.
   
   **3. Early connection release discards cleanup errors**
   
   Fixed. `closeConnections(false)`'s returned exceptions are now propagated 
via the existing `throwSQLExceptionIfNecessary` helper, after reconciliation 
runs (connections are still released and reconciled even if a reset failed). 
This doesn't mask a concurrent commit failure: if 
`localTransactionManager.commit()` also threw, that original exception is 
what's thrown, with the close exception attached via `addSuppressed`. Added two 
tests covering both orderings, verified both fail against the discarding 
version.
   
   **4. Transaction appendices contradict the new XA support**
   
   Fixed — updated both `appendix.en.md` and `appendix.cn.md` to state 
PostgreSQL's exception for the four table-DDL statements, rather than the old 
fully-restricted wording.
   
   **5. Added comments violate the comment standard**
   
   Fixed — extracted the early-release rationale into a Javadoc'd private 
method (`reconcileDeferredMetaDataIfAny`) instead of inline `//` comments.
   
   **Verification**
   
   207 targeted unit tests pass across `mode/core` and `proxy/backend/core`; 
`spotless:check checkstyle:check -Pcheck` clean; no line exceeds 200 characters 
in the diff.
   


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