[MAGNOLIA-3254] Cache gives incorrect 404 after requests with HTTP header field "Age" Created: 16/Jul/10  Updated: 16/Nov/10  Resolved: 16/Nov/10

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

Type: Bug Priority: Major
Reporter: Sven Damm Assignee: Jan Haderka
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

httpd.x86_64 2.2.3-31.el5_4.2


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   

After certain HTTP requests cache gives incorrect 404 results for existing files:
82.229.137.15 - - [16/Jul/2010:13:17:24 +0200] "GET /dms/xxxxxx/global/public/homepage%2Dteasers/media_center_homepage_teaser_2.jpg HTTP/1.1" 404 15580 "null" "GbPlugin"

The 404 errors continue until the cache is cleared by publishing a document.

Note the unnecessary %2D and the User-Agent "GbPlugin"

I am not able to reproduce this error with telnet localhost 80
GET /dms/xxxxxx/global/public/homepage%2Dteasers/media_center_homepage_teaser_2.jpg HTTP/1.1
Host: www.xxxxxx.com
User-Agent: GbPlugin

Probably the GbPlugin uses additional HTTP headers which are not logged.

What is the best way to reproduce this? Network sniffer is too much effort. Can apache log requests of a certain User-Agent verbosely?



 Comments   
Comment by Sven Damm [ 16/Jul/10 ]

I am now able to reproduce this bug.

GET /dms/xxxxxx/global/public/homepage%2Dteasers/media_center_homepage_teaser_2.jpg HTTP/1.1
Host: www.xxxxxx.com
User-Agent: GbPlugin
Age: 1

When the HTTP header field "Age" is specified with a small value,
then the 404 is correctly issued. But the next requests without the "Age" header also get the 404.

Comment by Philipp Bärfuss [ 19/Jul/10 ]

Thanks for all the research. I moved this ticket back to the main project as it really is a bug.

If you like you can create a new support ticket in which you refer to this issue for co-ordination/privacy reasons.

Comment by Jan Haderka [ 19/Jul/10 ]

I'm not able to reproduce this issue locally.

Few questions:

  • Are you sure you execute the request directly against server running Magnolia and not against some Apache front server or other kind of proxy?
  • You say "When the HTTP header field "Age" is specified with a small value, then the 404 is correctly issued.", however HTTP 1.1 spec, section 14.6 says that if any of the age calculations overflow, server must respond with the age value 2^31, and not to return 404. Can you clarify your statement?
  • Also can you confirm that the issue goes away when you set config:/server/filters/cache/enabled to false?

Thanks.

Comment by Jan Haderka [ 16/Nov/10 ]

Please re-open if the issue occurs again and provide detailed steps to reproduce the issue.

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