8000 [Cache] fix eventual consistency when using RedisTagAwareAdapter with a cluster by nicolas-grekas · Pull Request #41804 · symfony/symfony · GitHub
[go: up one dir, main page]

Skip to content

[Cache] fix eventual consistency when using RedisTagAwareAdapter with a cluster #41804

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

Merged
merged 1 commit into from
Jun 23, 2021

Conversation

nicolas-grekas
Copy link
Member
@nicolas-grekas nicolas-grekas commented Jun 23, 2021
Q A
Branch? 4.4
Bug fix? yes
New feature? no
Deprecations? no
Tickets -
License MIT
Doc PR -

Right now, if the Symfony app stops in the middle of the invalidation logic, we lose the keys to invalidate.

This PR fixes the invalidation logic by making it eventually consistent, and also more scalable thanks to using SSCAN instead of SMEMBERS when iterating over the items to delete.

The eventual consistency happens when the same tag is invalidated again. We could improve this eg by garbage collecting also when saving and deleting an item but I'll let this as an exercise for a future contributor :)

/cc @andrerom in case you'd like to have a look.

@andrerom
Copy link
Contributor

+1 moving this logic to server when we can is great, might fix som edge case issues where cache becomes inconsistent as well 👍

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

Successfully merging this pull request may close these issues.

3 participants
0