[MGNLCACHE-49] Default cache policy doesn't handle correctly URLs with multi value parameters Created: 20/Jun/12  Updated: 25/Mar/22  Resolved: 25/Mar/22

Status: Closed
Project: Cache Modules
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Neutral
Reporter: Gianluca Ortelli Assignee: Unassigned
Resolution: Inactive Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

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)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:

 Description   

If a site uses the Default policy and decides to extends the caching to URLs with query parameters, the cache will behave incorrectly in presence of multi valued parameters. For example,

http://host/path?a=1

and

http://host/path?a=1&a=2

will be stored using equal values of the DefaultCacheKey object. This happens because DefaultCacheKey keeps the parameters in a Map<String, String>.

(I made my test with magnolia on top of Tomcat 6; I guess the way HttpServletRequest#getParameters() "compresses" multiple values in one is not predictable, so a different example might be necessary to replicate the bug on a different container).

I used Magnolia 4.4.6, but the implementation of DefaultCacheKey has not changed in that respect in both 4.4. and 4.5 branches, so I expect the bug to affect all versions.



 Comments   
Comment by Ondrej Chytil [ 22/Jun/12 ]

Thanks for reporting the issue Gianluca. For now added to backlog.

Comment by Christopher Zimmermann [ 25/Mar/22 ]

Closing as inactive.

Generated at Sun Feb 11 23:51:42 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.