hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kalnichevski (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (HTTPCORE-45) Pipelined requests cause HttpException
Date Fri, 09 Mar 2007 08:35:24 GMT

     [ https://issues.apache.org/jira/browse/HTTPCORE-45?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Oleg Kalnichevski resolved HTTPCORE-45.

    Resolution: Fixed

Hi Steffen,

I looked into the possibility of using a queue to keep track of incoming requests and came
to realize that request pipelining and support for 'expect: continue' handshake are pretty
much mutually exclusive. I think it is more important to have  support for the 'expect: continue'
handshake than request queuing in Core. This will also help address Roland's concerns about
HttpCore scope creep. So, I fixed the problem, as you initially suggested, by disabling read
events while processing requests and streaming out responses.

I checked in a fix for the problem to the SVN trunk. Please review and let me know what you


> Pipelined requests cause HttpException
> --------------------------------------
>                 Key: HTTPCORE-45
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-45
>             Project: HttpComponents Core
>          Issue Type: Bug
>          Components: HttpCore NIO
>            Reporter: Steffen Pingel
>         Assigned To: Oleg Kalnichevski
>             Fix For: 4.0-alpha4
>         Attachments: httpcomponents-nio-pipelining-fix.txt
> I have a simple server implementation that uses DefaultServerIOEventDispatch and BufferingHttpServiceHandler.
Pipelined requests can cause an exception when DefaultNHttpServerConnection receives another
request while still processing the response to a previous request:
> org.apache.http.HttpException: Response already submitted
> 	at org.apache.http.impl.nio.DefaultNHttpServerConnection.submitResponse(DefaultNHttpServerConnection.java:162)
> 	at org.apache.http.nio.protocol.BufferingHttpServiceHandler.commitResponse(BufferingHttpServiceHandler.java:369)
> 	at org.apache.http.nio.protocol.BufferingHttpServiceHandler.processRequest(BufferingHttpServiceHandler.java:358)
> 	at org.apache.http.nio.protocol.BufferingHttpServiceHandler.requestReceived(BufferingHttpServiceHandler.java:167)
> 	at org.apache.http.impl.nio.DefaultNHttpServerConnection.consumeInput(DefaultNHttpServerConnection.java:97)
> 	at org.apache.http.impl.nio.DefaultServerIOEventDispatch.inputReady(DefaultServerIOEventDispatch.java:77)
> [...]

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail: httpcomponents-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpcomponents-dev-help@jakarta.apache.org

View raw message