-
Notifications
You must be signed in to change notification settings - Fork 28.5k
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
[SPARK-26917][SQL] Cache lock recache by condition #23833
[SPARK-26917][SQL] Cache lock recache by condition #23833
Conversation
merge in spark
I don't know this code well, but the change looks reasonable. The question of course is somehow whether the decision to uncache something could change between where it happens before and after. It doesn't seem so, as the intent here seems to be to evaluate what is to be uncached, release the lock, then do it. Maybe CC @cloud-fan |
seems file, cc @maryannxue @gatorsmile |
Test build #4556 has finished for PR 23833 at commit
|
retest this please |
1 similar comment
retest this please |
I can't see the build results. Is there a problem with the Jenkins server? |
(There is a problem with Jenkins ATM yes) |
Test build #4558 has finished for PR 23833 at commit
|
Merged to master |
What changes were proposed in this pull request?
Related to SPARK-26617 and SPARK-26548. There was a new location we found where we were still seeing the locks. We traced it to the recacheByCondition function. In this PR I have changed that function so that the writeLock is not held while the condition is being evaluated.
@cloud-fan & @gatorsmile This is a further tweak to the other cache PRs we have done (which have helped us tremendously).
How was this patch tested?
Has been tested on a live system where the blocking was causing major issues and it is working well.
CacheManager has no explicit unit test but is used in many places internally as part of the SharedState.