Yes, I only seem to be getting the timeout on 304s. I haven't explicitly set a 
30 second timeout anywhere, but I'm using Jetty for both the proxy and the 
backend. The timeout appears to be somewhere in the proxy because I'm seeing 
the 304 come back from the backend but I get a 504 from the proxy. I haven't 
been able to get a debugger setup to actually step through the proxy code.

I created Bugzilla bug 
338807<https://bugs.eclipse.org/bugs/show_bug.cgi?id=338807> and I attached a 
trace of the HTTP requests/responses.

-mike

[cid:[email protected]] | Mike Pilone | Software Architect, 
Distribution | [email protected]<mailto:[email protected]> | o: 202-513-2679  m: 
703-969-7493

From: [email protected] [mailto:[email protected]] 
On Behalf Of Thomas Becker
Sent: Wednesday, March 02, 2011 4:38 PM
To: [email protected]
Subject: Re: [jetty-users] ProxyServlet hang with 304 and Content-Length header

Hey Mike,

are you sure that you get this 30s timeout only on 304 requests? And do you 
have set maxIdle timeouts on jetty or have any ideas who's timing out after 30s?

Cheers,
Thomas

On 02/03/2011 22:21, Mike Pilone wrote:
I probably should have mentioned that! Jetty 7.3.0.v20110203.

BTW, the issue on the Spring side is filed as 
https://jira.springsource.org/browse/SPR-8013

-mike

[cid:[email protected]] | Mike Pilone | Software Architect, 
Distribution | [email protected]<mailto:[email protected]> | o: 202-513-2679  m: 
703-969-7493

From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]] On Behalf Of Michael Gorovoy
Sent: Wednesday, March 02, 2011 3:42 PM
To: JETTY user mailing list
Cc: Mike Pilone
Subject: Re: [jetty-users] ProxyServlet hang with 304 and Content-Length header

Mike,

What version of Jetty are you using?

Thanks,
Michael
On Wed, Mar 2, 2011 at 8:48 AM, Mike Pilone 
<[email protected]<mailto:[email protected]>> wrote:
I'm trying to use the ProxyServlet to create a simple frontend SSL proxy and 
I'm seeing it hang on 304 responses from my backend. After about 30 seconds the 
proxy returns with a gateway timeout error for the request.

I did discover that the backend is setting a Content-Length header for the 304 
response so I'm assuming the problem is that the ProxyServlet is waiting for 
the content, even though it will never be returned. I filed an issue against 
Spring (the backend servlet) for setting the Content-Length header, but I'm not 
convinced that it is all their fault. Based on my reading of RFC 2616, both 
ends seem to behave incorrectly.

RFC 2616 section 10.3.5 says,

"If the conditional GET used a strong cache validator (see section 13.3.3), the 
response SHOULD NOT include other entity-headers. Otherwise (i.e., the 
conditional GET used a weak validator), the response MUST NOT include other 
entity-headers; this prevents inconsistencies between cached entity-bodies and 
updated headers."

of course, RFC 2616 section 4.4 says,

"Any response message which "MUST NOT" include a message-body (such as the 1xx, 
204, and 304 responses and any response to a HEAD request) is always terminated 
by the first empty line after the header fields, regardless of the 
entity-header fields present in the message."

So, in either case (strong or weak validators), it seems like the backend 
servlet should not be setting a Content-Length header because clients could 
hang waiting for the content. However, clients should be smart enough to ignore 
content-length header on a 304 by looking for the first empty line.

From my googling, it looks like this is a reappearance of Jetty issue 283: 
http://jira.codehaus.org/browse/JETTY-283. Looking at the code, the 
ProxyServlet appears to have been rewritten and the bug reintroduced.

Thoughts?

-mike



Error! Filename not specified. | Mike Pilone | Software Architect, Distribution 
| [email protected]<mailto:[email protected]> | o: 202-513-2679  m: 703-969-7493


_______________________________________________
jetty-users mailing list
[email protected]<mailto:[email protected]>
https://dev.eclipse.org/mailman/listinfo/jetty-users






_______________________________________________

jetty-users mailing list

[email protected]<mailto:[email protected]>

https://dev.eclipse.org/mailman/listinfo/jetty-users

<<inline: image001.jpg>>

_______________________________________________
jetty-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to