rishi-rana commented on PR #39882: URL: https://github.com/apache/shardingsphere/pull/39882#issuecomment-6479739439
Thanks, addressed in 6f1b5728baf. **1. Support contract** No code action possible here — this needs your explicit sign-off on the contract as last restated in my earlier comment. Flagging again since it's still open, not re-arguing it. **2. `SET SCHEMA` admitted without restoring destination metadata** Fixed now that #40367 is merged. `isDeferrableTableDDLStatement` excludes any `AlterTableStatement` where `getSetSchemaDefinition().isPresent()`, so it falls through to the existing pre-transaction rejection instead of being admitted. Added `assertExecuteDoesNotDeferMetaDataRefreshForSetSchema`, verified it fails against the pre-fix code. **3. Commit-time reconciliation can exhaust the pool** `ProxyBackendTransactionManager.commit()` now releases the transaction's connections back to the pool (`closeConnections(false)`, plus the savepoint-map cleanup that used to live in `clear()`) *before* calling `reconcile()`, not after — so reconciliation's own metadata load no longer contends with still-checked-out connections for a slot the pool may not have. Added `assertCommitReleasesConnectionsBeforeReconcilingDeferredMetaData`, verified it fails against the old ordering. **4. Same-named tables in different schemas pollute SINGLE config** This was already fixed by `findLogicDataSourceName` resolving through the schema-qualified `MutableDataNodeRuleAttribute.findTableDataNode(schemaName, tableName)` first, falling back to the ambiguous bare-name route-unit match only when no explicit mapping exists — it directly closes the `ds_0.a.t` / `ds_1.b.t` repro. **5. Line-wrapping violations** Two were already fixed by the same prior change; the third (`MySQLDDLMetaDataRefreshTestCase.java`'s two-resource try-with-resources, 133 chars reconstructed) is now collapsed to one line. **6. `HashMap` without initial capacity** `getRenameSchemaSources()`'s `RenameTableStatement` branch now sizes the map from `renameTables.size()`. **Verification** 163 targeted unit tests across `mode/core` and `proxy/backend/core` pass; `spotless:check checkstyle:check -Pcheck` clean across all six touched modules; 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]
