[ 
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

Reply via email to