Skip to content
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

Closed

Conversation

DaveDeCaprio
Copy link
Contributor

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.

@srowen
Copy link
Member

srowen commented Feb 18, 2019

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

@cloud-fan
Copy link
Contributor

seems file, cc @maryannxue @gatorsmile

@SparkQA
Copy link

SparkQA commented Feb 19, 2019

Test build #4556 has finished for PR 23833 at commit 7b07a88.

  • This patch fails Spark unit tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@cloud-fan
Copy link
Contributor

retest this please

1 similar comment
@cloud-fan
Copy link
Contributor

retest this please

@DaveDeCaprio
Copy link
Contributor Author

I can't see the build results. Is there a problem with the Jenkins server?

@srowen
Copy link
Member

srowen commented Feb 19, 2019

(There is a problem with Jenkins ATM yes)

@SparkQA
Copy link

SparkQA commented Feb 19, 2019

Test build #4558 has finished for PR 23833 at commit 7b07a88.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@srowen
Copy link
Member

srowen commented Feb 21, 2019

Merged to master

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants