[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: |
|
||||||||
| 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. |