[jboss-jira] [JBoss JIRA] (WFLY-6671) ajp connection hangs if a post HTTP request header contains 'Transfer-Encoding: chunked'
Aaron Ogburn (JIRA)
issues at jboss.org
Fri Feb 10 16:51:00 EST 2017
[ https://issues.jboss.org/browse/WFLY-6671?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aaron Ogburn reopened WFLY-6671:
--------------------------------
I reproduced this with EAP 7.0.4 + JBCS httpd/mod_jk as well. mod_proxy_ajp works. Inspecting tcp dumps, I see a potential difference to explain this. The last empty body message sent by mod_jk is the following:
12 34 00 00
So it just says no message length, but undertow doesn't seem to interpret this as a signal to end its request body read.
Compared to mod_proxy_ajp, it sends the following for the final body message:
12 34 00 02 00 00
So mod_proxy_ajp seems to say it has a body length of 2 bytes (which are empty) and undertow ends its request body read after seeing this. Does undertow need a change to recognize mod_jk's end body message too?
> ajp connection hangs if a post HTTP request header contains 'Transfer-Encoding: chunked'
> -----------------------------------------------------------------------------------------
>
> Key: WFLY-6671
> URL: https://issues.jboss.org/browse/WFLY-6671
> Project: WildFly
> Issue Type: Bug
> Components: Web (Undertow)
> Affects Versions: 10.0.0.Final
> Environment: Apache HTTP server 2.2.22 with mod_jk 1.2.37
> Reporter: river shen
> Assignee: Stuart Douglas
> Attachments: service-1.0-SNAPSHOT.war, src.zip, stacks.txt, standalone.xml, workers.properties
>
>
> When upgrading from JBOSS 7 to WILDFLY10, we observed following behavior:
> if an HTTP post contains 'Transfer-Encoding: chunked' and 'Content-Type:appliation/octet-stream' in its head, A servlet which handles it will hang for ever ( until the client drop the connection) if it calls HttpServletRequest.getInputStream() and tries to read the whole content of the returned InputStream. The InputStream's read() method will block for ever at the end of the stream as opposed to return -1.
> It only happens when the request is routed by apache web server through ajp; it does not happen if the client talks to wildfly directly through its 8080 http port.
> We have attached a minimal web application that reproduce this issue.
> Also attached is the standalone.xml and the apache configuration file.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
More information about the jboss-jira
mailing list