Fix flaky NativeBridgeLocalSessionTests spill-dir cleanup race with native runtime#22367
Conversation
…ative runtime Signed-off-by: Lantao Jin <ltjin@amazon.com>
PR Reviewer Guide 🔍(Review updated until commit 62ae8a1)Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Latest suggestions up to 62ae8a1 Explore these optional code suggestions:
Previous suggestionsSuggestions up to commit e04b1d7
Suggestions up to commit f8c9c2b
|
|
❌ Gradle check result for f8c9c2b: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
|
Persistent review updated to latest commit e04b1d7 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #22367 +/- ##
============================================
+ Coverage 73.37% 73.41% +0.03%
- Complexity 76081 76140 +59
============================================
Files 6076 6076
Lines 345525 345525
Branches 49739 49739
============================================
+ Hits 253541 253663 +122
+ Misses 71760 71575 -185
- Partials 20224 20287 +63 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Signed-off-by: Lantao Jin <ltjin@amazon.com>
|
Persistent review updated to latest commit 62ae8a1 |
|
❌ Gradle check result for 62ae8a1: null Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
Description
Root cause:
createRuntime()passed a Lucene-managedcreateTempDir("datafusion-spill")to the native runtime.createGlobalRuntimerenames the dir's entries to*.staleand deletes them on a detached background thread thatcloseGlobalRuntimenever joins. At suite teardown, Lucene'sTestRuleTemporaryFilesCleanupdoes a strict recursive rm of the same tree, racing the native deleter →NoSuchFileException: extra0.stale.Related Issues
Resolves #[Issue number to be closed when this PR is merged]
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.