spuru9 opened a new pull request, #271:
URL: https://github.com/apache/flink-connector-jdbc/pull/271

   ## What is the purpose of the change
   
   The SQL Server dialect tests ran on Azure SQL Edge, which Microsoft [retired 
on 2025-09-30](https://learn.microsoft.com/azure/azure-sql-edge/overview). This 
moves them to SQL Server 2025.
   
   `SqlServerDatabase` installs the XA procedures (`sp_sqljdbc_xa_install`), 
but no XA test ran against SQL Server: `SimpleXaConnectionProviderTest` only 
had Derby and PostgreSQL subclasses. Adding a SQL Server subclass showed a gap 
in that test. `recover()` returns the driver's own `Xid` type, and SQL Server's 
never equals a `TransactionId` with the same values, so `contains(xid)` failed 
and `doesNotContain(xid)` passed without checking anything.
   
   ## Brief change log
   
     - `SqlServerImages`: use 
`mcr.microsoft.com/mssql/server:2025-CU10-ubuntu-24.04`, pinned like the other 
test images, instead of `azure-sql-edge`.
     - Add `SqlServerSimpleXaConnectionProviderTest`.
     - `SimpleXaConnectionProviderTest`: compare recovered XIDs by format ID, 
global transaction ID and branch qualifier.
   
   ## Verifying this change
   
   Locally (Apple Silicon, Docker Desktop with Rosetta, JDK 17):
   
     - All 39 SQL Server tests pass on SQL Server 2025 CU10: the 33 existing 
ones and the 6 new XA tests. They also pass on SQL Server 2022 CU27. The image 
each run used was checked with `docker events`.
     - Without the comparator, 
`testRecoverFindsTransactionPreparedOnAnotherConnection` fails on SQL Server.
     - The Derby and PostgreSQL XA subclasses still pass (6 tests each).
     - Spotless and checkstyle pass.
   
   CI on the fork: 
[CI](https://github.com/spuru9/flink-connector-jdbc/actions/runs/42198332415), 
[Backwards 
Compatibility](https://github.com/spuru9/flink-connector-jdbc/actions/runs/42198331997).
   
   `mssql/server` has no arm64 image, unlike `azure-sql-edge`, so on Apple 
Silicon it runs under Docker's x86 emulation. CI is unaffected.
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): no
     - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: no
     - The serializers: no
     - The runtime per-record code paths (performance sensitive): no
     - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
     - The S3 file system connector: no
   
   ## Documentation
   
     - Does this pull request introduce a new feature? no
     - If yes, how is the feature documented? not applicable
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes (please specify the tool below)
   
   Generated-by: Claude Code (Claude Opus 5.5)
   


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