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

Oleg Kalnichevski resolved HTTPCORE-291.
----------------------------------------

    Resolution: Fixed

I fixed the most immediate problem, which is out of sequence responses to 
pipelined requests. 

http://svn.apache.org/viewvc?view=revision&revision=1234543

I also started to put together a suite of test case that defines the expected 
behavior with regards to handling of pipelined requests

http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/integration/TestPipelining.java?view=markup&pathrev=1234543

Please feel free to add more test cases defining your expectations of correct 
handling of pipelined requests.

I am also in the process of evaluating of the possibility of improving request 
pipelining handling in HttpAsyncService and making it work correctly together 
with Cancellable callback. One thing I am not sure about is whether it should 
warrant a delay of 4.2 BETA1 release or it could wait until 4.2 BETA2. Please 
let me know your preference.

Oleg
                
> Out-of-order responses to pipelined requests
> --------------------------------------------
>
>                 Key: HTTPCORE-291
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-291
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>            Reporter: Geir Harald Hansen
>         Attachments: Test.java, testrun.txt
>
>
> I am having a problem with the latest HttpCore NIO from the Subversion 
> repository (revision 1234228). I have not tested this on earlier versions.
> I am observing two problems, but they stem from the same underlying issue - 
> that after a response is delayed, processing of subsequent pipelined requests 
> on the same socket continues immediately.
> Problem 1: If the response to your first request is delayed, but not the 
> second, they are delivered out of order.
> Problem 2: If a request has a body (entity) then right after processing that 
> request and delaying its response, there is a response on the wire ("400 Bad 
> Request") and the connection is terminated. When this happens none of the 
> delayed responses are cancelled, that is Cancellable#cancel() is never called.
> I will attach example source code, and an example of running telnet against 
> the program, to show what is happening. There is first a request that is 
> delayed and never gets a response. The second request gets a response 
> immediately, out of order. The third request (a POST with body) also has its 
> response delayed. But then there is a 400 bad request response and the 
> connection is severed. The two delayed responses are not cancelled.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to