PDGGK commented on PR #9159:
URL: https://github.com/apache/paimon/pull/9159#issuecomment-5248523641

   CI caught a real defect in my test — pushed 394346d0 for it.
   
   `catalogConstructorKeepsTheInterruptStatus` passed locally but failed on 
Linux with `Expecting code to raise a throwable`. The first version set the 
thread's interrupt flag and then relied on the real pool reaching 
`LinkedBlockingDeque.pollFirst`, whose `lockInterruptibly()` throws when the 
calling thread already carries the flag. That quietly assumed nothing between 
setting the flag and that wait consumes it — but the constructor opens a real 
JDBC connection first, and driver initialisation evidently swallows the 
interrupt on Linux. No exception, so no assertion. My mistake, and the seam was 
environment-dependent in a way that would have stayed fragile even if it had 
happened to pass.
   
   Both cases now stub `JdbcClientPool.run` to throw `InterruptedException` 
outright. For the constructor that means seeding `CachedJdbcClientPool`'s 
shared cache via its existing `@VisibleForTesting clientPools()` accessor — the 
same seam `CachedJdbcClientPoolTest` already uses — so no real connection is 
opened and there is nothing environment-dependent left. Both still fail against 
the unfixed catch blocks, and `Jdbc*Test` + `CachedJdbcClientPoolTest` are 
green locally (93 tests).
   
   **Separately**, the `Test Flink` job failed on 
`PrimaryKeyFileStoreTableITCase.testFullCompactionChangelogProducerStreamingRandom`.
 That one I don't believe is mine: the test file contains no reference to 
`jdbc`, this change is confined to `paimon-core`'s `jdbc` package, and that 
class has a long history of instability — #4634, #4933, #4940, #7036, #6913 and 
most recently #8940 (30 Jul) are all test-stability fixes for it, and #5563 
tracked its sibling `testNoChangelogProducerStreamingRandom` being unstable. I 
can't re-run jobs myself; happy to rebase if you'd like a fresh run.
   


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