Opened 5 years ago

Closed 4 years ago

#17286 closed Bug (fixed)

All cache backends need to call its 'close' function

Reported by: jifeng.yin@… Owned by: gnosek
Component: Core (Cache system) Version: master
Severity: Normal Keywords:
Cc: zsiciarz Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no


Django currently supports multiple cache backends. However, the only DEFAULT_CACHE will be closed when request is finished, just like before as the single CACHE_BACKEND setting.

Should we apply this logic to all the cache backends? Because several memcache backends are totally possible. Think in this user case: one for dramatic data -> shorter timeout, allow evictions; the other for static data -> longer timeout, do not allow evictions.

Please let me know your thought, thanks!

Attachments (1)

17286.diff (2.3 KB) - added by gnosek 4 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 5 years ago by aaugustin

  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset
  • Triage Stage changed from Unreviewed to Accepted

Like all database connections are closed at the end of each request, all cache connections should be closed.

comment:2 Changed 4 years ago by gnosek

  • Owner changed from nobody to gnosek
  • Status changed from new to assigned

Changed 4 years ago by gnosek

comment:3 Changed 4 years ago by gnosek

  • Has patch set

comment:4 Changed 4 years ago by zsiciarz

  • Cc zsiciarz added
  • Triage Stage changed from Accepted to Ready for checkin

Works fine, RFC'd.

comment:5 Changed 4 years ago by jezdez

  • Resolution set to fixed
  • Status changed from assigned to closed

In [17479]:

Fixed #17286 -- Made sure all cache backends are set up to connect to the signal handler that closes the cache connection when the request has been processed. Thanks, gnosek.

Note: See TracTickets for help on using tickets.
Back to Top