You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Steffen Pingel (JIRA)" <ji...@apache.org> on 2007/02/12 21:40:05 UTC

[jira] Created: (HTTPCORE-45) Pipelined requests cause HttpException

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


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


[jira] Commented: (HTTPCORE-45) Pipelined requests cause HttpException

Posted by "Oleg Kalnichevski (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HTTPCORE-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12482254 ] 

Oleg Kalnichevski commented on HTTPCORE-45:
-------------------------------------------

> Since the second request has already been read into a buffer, consumeInput() is never invoked again and the request is not processed.

Hhm. Strange. This should not be the case, but I'll double-check anyways.

Oleg

> 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


[jira] Commented: (HTTPCORE-45) Pipelined requests cause HttpException

Posted by "Steffen Pingel (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HTTPCORE-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12472446 ] 

Steffen Pingel commented on HTTPCORE-45:
----------------------------------------

Yes, I certainly agree that queuing is the appropriate measure to fix this. 

I wanted to share the patch though in case someone else running into this problem needs a work around. Sorry for not pointing that out.


> 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
>             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


[jira] Assigned: (HTTPCORE-45) Pipelined requests cause HttpException

Posted by "Oleg Kalnichevski (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HTTPCORE-45?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Kalnichevski reassigned HTTPCORE-45:
-----------------------------------------

    Assignee: Oleg Kalnichevski

> 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


[jira] Reopened: (HTTPCORE-45) Pipelined requests cause HttpException

Posted by "Steffen Pingel (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HTTPCORE-45?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steffen Pingel reopened HTTPCORE-45:
------------------------------------


While running tests I found a case where pipelined requests are not being handled:

1. Send two pipelined requests that are read into DefaultNHttpServerConnection.inbuf
2. Suspend input and process first request 
3. Request input

Since the second request has already been read into a buffer, consumeInput() is never invoked again and the request is not processed.


> 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


[jira] Updated: (HTTPCORE-45) Pipelined requests cause HttpException

Posted by "Steffen Pingel (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HTTPCORE-45?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steffen Pingel updated HTTPCORE-45:
-----------------------------------

    Attachment: httpcomponents-nio-pipelining-fix.txt

Simple fix that turns off read events while sending a response.

> 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
>         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


[jira] Resolved: (HTTPCORE-45) Pipelined requests cause HttpException

Posted by "Oleg Kalnichevski (JIRA)" <ji...@apache.org>.
     [ 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 think

Olrh



> 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


[jira] Resolved: (HTTPCORE-45) Pipelined requests cause HttpException

Posted by "Steffen Pingel (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HTTPCORE-45?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steffen Pingel resolved HTTPCORE-45.
------------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 4.0-alpha5)
                   4.0-alpha4

Oleg, you are right. It works correctly in the HttpCore implementaion. I was using a custom IO reactor that did not check if the session has pending buffered input. Thanks.

> 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


[jira] Updated: (HTTPCORE-45) Pipelined requests cause HttpException

Posted by "Oleg Kalnichevski (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HTTPCORE-45?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Kalnichevski updated HTTPCORE-45:
--------------------------------------

    Fix Version/s: 4.0-alpha4

Steffen,

I am aware of this problem. I would prefer to resolve it properly by implementing request queuing.

Oleg

> 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
>             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


[jira] Updated: (HTTPCORE-45) Pipelined requests cause HttpException

Posted by "Oleg Kalnichevski (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HTTPCORE-45?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Kalnichevski updated HTTPCORE-45:
--------------------------------------

    Fix Version/s:     (was: 4.0-alpha4)
                   4.0-alpha5

> 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-alpha5
>
>         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


[jira] Commented: (HTTPCORE-45) Pipelined requests cause HttpException

Posted by "Oleg Kalnichevski (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HTTPCORE-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12482341 ] 

Oleg Kalnichevski commented on HTTPCORE-45:
-------------------------------------------

Steffen,

Could you please put together a test case to reproduce the problem? As far as I can tell IOEventDispatch#consumeInput() should fire in such cases.

Oleg

> 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