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]
