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]

Reply via email to