LuciferYang commented on PR #9511: URL: https://github.com/apache/paimon/pull/9511#issuecomment-5495364752
Pushed 28a2d6707 after the first version of this PR timed out the `UTCase and ITCase Flink 1.x Common` job. The problem was mine and it was wider than the commit message claimed. `Semaphore.acquire()` goes through AQS `acquireSharedInterruptibly`, which throws as soon as the calling thread carries an interrupt flag, even with every permit free. Rejecting on `InterruptedException` therefore did not mean "interrupted while waiting for a permit", it meant "any `execute()` from an already-interrupted thread", which is what a Flink task looks like while it is being cancelled. A probe with `permitCount` 2, both permits free and the flag set showed `execute()` throwing while the task never ran. The job had stalled 53 minutes inside `SinkSavepointITCase`, which is a loop of stop-with-savepoint and restore with `FailingFileIO` injecting failures. The new commit keeps the original behavior: an interrupted submitter restores the flag and hands the task to the delegate as before, and only the accounting changes, by recording that no permit backs that task so its wrapper does not hand back a permit nobody acquired. That job is now green in 42m45s, with `SinkSavepointITCase` passing in 35s. The one remaining red check, `UTCase and ITCase Spark 4.x`, is unrelated: `Data Evolution: concurrent merge and small files compact` failed with `Snapshot file ... snapshot-90 does not exist. It might have been expired by other jobs operating on this table.` That test races ten `MERGE INTO`s against ten `sys.compact` calls and retries only two specific conflict messages, so a snapshot expiring between the compactor's split listing and its read fails it; the sibling test in the same file needed a flakiness fix in #9475. This change only affects semaphore permit accounting and cannot expire a snapshot. -- 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]
