E545 [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

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

+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