#26619: BaseCache incr method will reset the timeout
-------------------------+-------------------------------------------------
Reporter: nitely | Owner: nobody
Type: Bug | Status: new
Component: Core | Version: 1.8
(Cache system) | Keywords: cache, incr, DatabaseCache,
Severity: Normal | BaseCache
Triage Stage: | Has patch: 0
Unreviewed |
Easy pickings: 0 | UI/UX: 0
-------------------------+-------------------------------------------------
`BaseCache.incr()` resets the timeout to the default timeout.
`DatabaseCache` and `FileBasedCache` are affected by this, since they do
not override the method. I'm not sure what the memcache behaviour is.
To reproduce this, set the default cache backend to
`django.core.cache.backends.db.DatabaseCache` and call `incr()` on the
cache. Although,
[https://github.com/django/django/blob/df8d8d4292684d6ffa7474f1e201aed486f02b53/django/core/cache/backends/base.py#L186
the bug is easy to spot] since `.set(...)` is being called without passing
a timeout.
I'm assuming this is a bug since `LocMemCache` doesn't reset the timeout,
the docs don't mention anything about it and it seems like a surprising
behaviour to me.
Django 1.8 and 1.9 are affected by this.
--
Ticket URL: <https://code.djangoproject.com/ticket/26619>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/049.d3140839af3a3787e49d748876b5d2be%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.