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

Wait for lock in DefaultRedisCacheWriter.doLock() #2879

Closed
wants to merge 1 commit into from

Conversation

chanyoung1998
Copy link
Contributor

@chanyoung1998 chanyoung1998 commented Mar 23, 2024

Closes #1686

Changes

  • doLock method is not guarantee to acquire lock, so improved it.
  • doLock method access modifier from private to protected to make unit test for it. Is it permissible?

Please suggest if I have missed anything in this as this is my first PR in this project.

  • You have read the Spring Data contribution guidelines.
  • You use the code formatters provided here and have them applied to your changes. Don’t submit any formatting related changes.
  • You submit test cases (unit or integration tests) that back your changes.
  • You added yourself as author in the headers of the classes you touched. Amend the date range in the Apache license header if needed. For new types, add the license header (copy from another file and set the current year only).

@pivotal-cla
Copy link

@chanyoung1998 Please sign the Contributor License Agreement!

Click here to manually synchronize the status of this Pull Request.

See the FAQ for frequently asked questions.

@pivotal-cla
Copy link

@chanyoung1998 Thank you for signing the Contributor License Agreement!

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Mar 23, 2024
@mp911de mp911de self-assigned this Apr 15, 2024
@mp911de mp911de changed the title Improve atomicity in DefaultRedisCacheWriter.doLock(). #1686 Wait for lock in DefaultRedisCacheWriter.doLock() Apr 19, 2024
@mp911de mp911de added type: bug A general bug and removed status: waiting-for-triage An issue we've not yet triaged labels Apr 19, 2024
@mp911de mp911de added this to the 3.2.6 (2023.1.6) milestone Apr 19, 2024
mp911de pushed a commit that referenced this pull request Apr 19, 2024
mp911de added a commit that referenced this pull request Apr 19, 2024
Refine unlocking by checking whether the lock was actually applied.

Reduce allocations, refine test assertions to check for concurrency.

See #1686
Original pull request: #2879
mp911de pushed a commit that referenced this pull request Apr 19, 2024
mp911de added a commit that referenced this pull request Apr 19, 2024
Refine unlocking by checking whether the lock was actually applied.

Reduce allocations, refine test assertions to check for concurrency.

See #1686
Original pull request: #2879
@mp911de
Copy link
Member

mp911de commented Apr 19, 2024

Thank you for your contribution. That's merged, polished, and backported now.

@mp911de mp911de closed this Apr 19, 2024
@chanyoung1998
Copy link
Contributor Author

Thank you for your reviewing my pr!

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

Successfully merging this pull request may close these issues.

DefaultRedisCacheWriter is not atomic [DATAREDIS-1117]
4 participants