[MAGNOLIA-3897] Cache do-not-cache decisions and enhance cache abstraction to differentiate missing keys and stored null values Created: 02/Dec/11  Updated: 27/Dec/11  Resolved: 27/Dec/11

Status: Closed
Project: Magnolia
Component/s: cache
Affects Version/s: None
Fix Version/s: 4.4.6, 4.5

Type: Improvement Priority: Neutral
Reporter: Tobias Mattsson Assignee: Tobias Mattsson
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
dependency
is depended upon by MAGNOLIA-3699 Cache Header Negotiation Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)

 Description   

By extending the Cache abstraction interface with the possibility of differentiating between missing keys and null values placed in cache we can store null to mark the key as a bypass.

This allows a store executor to make an intelligent decision per request on whether to cache the request or not. If the executor decides that the request should not be cached by putting null in the cache subsequent requests for that resource will happen concurrently.



 Comments   
Comment by Tobias Mattsson [ 27/Dec/11 ]

Closing as won't fix as this would defeat one of the described use-cases in http://wiki.magnolia-cms.com/display/DEV/Concept+-+Cache+Header+Negotiation, when a page encounters an error and decides that the error message shouldn't be cached to let the next request retry the action.

Also, the blocking cache in EhCache does not allow caching null values. Implementing this would require that we add a new cache entry type and cached that instead.

Generated at Mon Feb 12 03:50:44 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.