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

Possible stale cache when using Delete and a memcache lock fails. #33

Open
jongillham opened this issue Nov 30, 2014 · 0 comments
Open

Comments

@jongillham
Copy link
Member

jongillham commented Nov 30, 2014

nds.Delete currently locks memcache and then deletes its entity from the datastore. If the following situation occurs then stale cache will be left in the datastore:

  • Delete is called and locks the memcache item to be deleted.
  • The memcache lock is evicted from memcache.
  • Get is called and loads the entity into memcache.
  • Delete removes the entity from the datastore.

Therefore the entity will no longer be in the datastore but will be in memcache.

Note that this issue does not affect consistency guarantees when just using nds.Get* and nds.Put* functions.

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

No branches or pull requests

1 participant