-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ntuple] Fix race in cluster pool #16931
base: master
Are you sure you want to change the base?
Conversation
a6b9727
to
44be30f
Compare
Test Results 19 files 19 suites 4d 12h 35m 15s ⏱️ For more details on these failures, see this check. Results for commit c118bff. ♻️ This comment has been updated with latest results. |
Still something strange on mac14. Could be a memory leak. Investigating. |
Doesn't seem to be a leak but just excessive memory consumption with the access pattern. That's a separate issue to address. It's most likely the page pool that stores, multiple times, the same uncompressed pages. |
44be30f
to
832c64b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you maybe add some explanation to the last commit's message why fIsExpired
is not needed (anymore)? Is it because with the removal of the background unzipping earlier this year, the loaded clusters are directly given back to the main thread?
The fIsExpired flag was used to indicate to the I/O thread that a loaded cluster is not needed anymore. This was useful at the time when the I/O thread also took care of the parallel decompression. In this way, we could avoid useless decompression of clusters. However, now the parallel decompression is anyway triggered by the main thread. The loop over fInFlightCluster in RClusterPool::GetCluster() already avoids decompression if a cluster was expired. Hence, the out-of-band signal from the main thread to the I/O thread is not needed anymore.
7e76ad8
to
c118bff
Compare
Sure, and yes. Updated the commit message to
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Fixes #16936
Also extends the
RandomAccess
unit test to increase the chance of hitting race conditions (x10 more random requests).