tzphh commented on PR #10756: URL: https://github.com/apache/paimon/pull/10756#issuecomment-6436408481
> The new concurrent first preparation round exposes a race in the existing `testBlockingPrepareRollsBackAllDefinitionsAfterInterruption` test. The test waits only for `secondStarted` before interrupting, so the first build may still be queued and can be cancelled before execution. In that case the retry leaves `firstBuilds == 1`, although the test requires `2`. I observed this failure once in the focused suite, while eight isolated reruns passed. Could we also wait for a `firstStarted` latch before interrupting, or make the assertions account for cancellation before execution? > > commitThread.interrupt(); on line 674 - can race with the first build actually starting Fixed in e787eb7f96 by adding `firstStarted` and waiting for both builders to start before interrupting. The two-build and `btree-2` / `bitmap-2` assertions are unchanged. Delaying the first worker by one second reproduced the failure before the fix and passed afterward with the same delay. After removing the temporary delay harness, all 139 focused Core tests passed locally on this head on JDK 8 (1.8.0_512), JDK 11 (11.0.27), and JDK 17, including the interruption/rollback test. -- 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]
