You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Uri Shachar (JIRA)" <ji...@apache.org> on 2013/02/13 16:48:17 UTC
[jira] [Updated] (TS-1708) Using tr-pass port option causes
requests with large headers to hang
[ https://issues.apache.org/jira/browse/TS-1708?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Uri Shachar updated TS-1708:
----------------------------
Attachment: transparent_passthrough_hang.diff
This patch turns off the passthrough if the buffer is full and we still don't have a decision if the request is valid. If it proves to be invalid, a normal HTTP error will be returned (as if tr-pass wasn't enabled)
I'm not sure if there isn't another bug being covered up here -- If I understand the IOBuffer implementation correctly, it should allow the writer to continue writing since the watermark is set to 0....
> Using tr-pass port option causes requests with large headers to hang
> --------------------------------------------------------------------
>
> Key: TS-1708
> URL: https://issues.apache.org/jira/browse/TS-1708
> Project: Traffic Server
> Issue Type: Bug
> Components: HTTP
> Reporter: Uri Shachar
> Attachments: transparent_passthrough_hang.diff
>
>
> When tr-pass is enabled and a request comes in with total size of request headers > 4K it will hang in the parser (and never time out).
> In order to support tr-pass, we clone the ua_buffer_reader, but until the parser decides the request is valid/invalid, we do not consume data from the clone. Eventually, the underlying iobuffer fills up and the parser won't be called with the rest of the pending data.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira