[ 
https://issues.apache.org/jira/browse/SYNAPSE-156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12537580
 ] 

Oleg Kalnichevski commented on SYNAPSE-156:
-------------------------------------------

Folks,

I believe that in order to solve the issue 
(1) there has to be a way to share session information between the client end 
point and the target end point.  
(2) conversation state (request/response pipes, etc) needs to be decoupled from 
the connection state. That would enable NHttp transport to drop connections to 
the target without losing the conversation state 

I have a patch more or less ready but am unable to complete it because I am 
stuck trying to find my way around Axis2 kernel. 

Asankha, I am afraid you'll have to take over from here. I'll happily pass the 
unfinished patch onto you, if that is of any interest.

Oleg

> Unexpected Closed Chanel Exception in ClientHandler
> ---------------------------------------------------
>
>                 Key: SYNAPSE-156
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-156
>             Project: Synapse
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.QA.B.2
>            Reporter: Ruwan Linton
>             Fix For: 1.1.-RC1-B1
>
>
> This is the last comment for the SYNAPSE-155 from Oleg,
> I think found the cause of the problem. ClientHandler closes output sink 
> channel prematurely at the same time with the connection to the target 
> server, while the ServerHandler is still busy sending the response content 
> back the client. This is a separate issue from the original one. I think you 
> should close this issue and open a new one specifically for the said problem.
> Oleg
> =======================
>     /**
>      * Process ready input (i.e. response from remote server)
>      * @param conn connection being processed
>      * @param decoder the content decoder in use
>      */
>     public void inputReady(final NHttpClientConnection conn, final 
> ContentDecoder decoder) {
>         HttpContext context = conn.getContext();
>         HttpResponse response = conn.getHttpResponse();
>         WritableByteChannel sink = (WritableByteChannel) 
> context.getAttribute(RESPONSE_SINK_CHANNEL);
> ...
>             if (decoder.isCompleted()) {
>                 if (sink != null) sink.close(); // oopsie
> ...
>             }
> ...
> =======================
> Please see SYNAPSE-155 (https://issues.apache.org/jira/browse/SYNAPSE-155) 
> for more details

-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to