adiranjan25 opened a new pull request, #18823:
URL: https://github.com/apache/iceberg/pull/18823

   ## Summary
   Fixes #18797.
   
   JdbcLockFactory initializes the maintenance lock table using a 
check-then-create sequence. When multiple Flink maintenance operators 
initialize concurrently, both can observe a missing table and race to create it.
   
   This change handles recognized duplicate-table errors by verifying that the 
lock table now exists, while propagating other SQL exceptions.
   
   ## Changes
   - Recognize duplicate-table errors for PostgreSQL, MySQL, and the reproduced 
SQLite case.
   - Add a concurrent initialization regression test using two JdbcLockFactory 
instances.
   - Add resource cleanup and a negative database-initialization test.
   
   ## Validation
   - Reproduced the SQLite table-already-exists failure before the fix.
   - Full TestJdbcLockFactory test class: BUILD SUCCESSFUL.
   - Targeted concurrency regression test: BUILD SUCCESSFUL.
   - Spotless formatting and git diff --check passed.
   
   ## Limitations
   Local validation was performed with SQLite. PostgreSQL and MySQL handling 
has not been integration-tested.


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to