You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Dmitry (JIRA)" <ji...@apache.org> on 2010/09/26 10:53:35 UTC

[jira] Created: (HTTPCORE-236) Failed to receive last chunk of the large https response through httpcore-nio

Failed to receive last chunk of the large https response through httpcore-nio 
------------------------------------------------------------------------------

                 Key: HTTPCORE-236
                 URL: https://issues.apache.org/jira/browse/HTTPCORE-236
             Project: HttpComponents HttpCore
          Issue Type: Bug
          Components: HttpCore NIO
    Affects Versions: 4.1-beta2
         Environment: java 1.6_06 windows xp, linux redhat.
            Reporter: Dmitry
            Priority: Critical


I'm a wso2 esb (synapse) user/developer.
I got a problem with https nio transport.
I tried versions 4.1 alpha1 and 4.1 beta2.
 
The problem: 
transport failed to receive large (50k) response through nio https.
The connection is keep-alive and chunked. Every time I received only response divisible 
by 8192 and last chunk is never returned.
 
After digging the logs and code I found that last chunk not returned because 
of the code in this class org.apache.http.impl.nio.reactor.SSLIOSession.java
 
I changed one line in the code and now it's working.
Now I want to ask somebody who knows the code if this change is ok,
and maybe it should be applied to httpcore (see attached file)




-- 
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[jira] Commented: (HTTPCORE-236) Failed to receive last chunk of the large https response through httpcore-nio

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

Oleg Kalnichevski commented on HTTPCORE-236:
--------------------------------------------

This just does not look right. The DefaultNHttpClientConnection passes an instance of SessionBufferStatus it implements to the I/O session object at the construction time. So, the I/O session should always be aware of the data in the connection's buffers. If there is some buffered input the SSLIOSession#isAppInputReady() method should always return true. 

Please try to reproduce the problem with a test case. Otherwise, I will have to put the issue back to RESLOVED.

Oleg 

> Failed to receive last chunk of the large https response through httpcore-nio 
> ------------------------------------------------------------------------------
>
>                 Key: HTTPCORE-236
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-236
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.1-beta2
>         Environment: java 1.6_06 windows xp, linux redhat.
>            Reporter: Dmitry
>            Priority: Critical
>             Fix For: 4.1
>
>         Attachments: SSLClientIOEventDispatch.diff, SSLIOSession.diff
>
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> I'm a wso2 esb (synapse) user/developer.
> I got a problem with https nio transport.
> I tried versions 4.1 alpha1 and 4.1 beta2.
>  
> The problem: 
> transport failed to receive large (50k) response through nio https.
> The connection is keep-alive and chunked. Every time I received only response divisible 
> by 8192 and last chunk is never returned.
>  
> After digging the logs and code I found that last chunk not returned because 
> of the code in this class org.apache.http.impl.nio.reactor.SSLIOSession.java
>  
> I changed one line in the code and now it's working.
> Now I want to ask somebody who knows the code if this change is ok,
> and maybe it should be applied to httpcore (see attached file)

-- 
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[jira] Reopened: (HTTPCORE-236) Failed to receive last chunk of the large https response through httpcore-nio

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

Dmitry reopened HTTPCORE-236:
-----------------------------


I was too fast to tell that this patch solves the problem.
I found another case when buffered input "eats" last chunk.

The method inputReady in the class SSLClientIOEventDispatch.java

This method calls conn.consumeInput() only when 
sslSession.isAppInputReady() returns true.

But actually conn (NHttpClientIOTarget) could be buffered. In my case it's a DefaultNHttpClientConnection.

So, I suggest additional change (probably it could be simplified):

public void inputReady(final IOSession session) {
	NHttpClientIOTarget conn =
		(NHttpClientIOTarget) session.getAttribute(ExecutionContext.HTTP_CONNECTION);
	SSLIOSession sslSession =
		(SSLIOSession) session.getAttribute(SSL_SESSION);

	try {
		if(conn instanceof SessionBufferStatus){
			//we have buffered NHttpClientIOTarget, let,s check buffer also...
			boolean hasBufferedInput = hasBufferedInput=((SessionBufferStatus)conn).hasBufferedInput();
			//DLukyanov: i'm not sure that the next "if" operator is necessary...
			//   better will be if NHttpClientIOTarget itself will decide if consume will be effective or not.
			if (sslSession.isAppInputReady() || hasBufferedInput) {
				conn.consumeInput(this.handler);
			}
		}else{
			//just try to consume. we can't guess if it's buffered or not
			conn.consumeInput(this.handler);
		}
		//ORIGINAL CODE:
		//if (sslSession.isAppInputReady()) {
		//    conn.consumeInput(this.handler);
		//}
		
		sslSession.inboundTransport();
	} catch (IOException ex) {
		this.handler.exception(conn, ex);
		sslSession.shutdown();
	}
}



> Failed to receive last chunk of the large https response through httpcore-nio 
> ------------------------------------------------------------------------------
>
>                 Key: HTTPCORE-236
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-236
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.1-beta2
>         Environment: java 1.6_06 windows xp, linux redhat.
>            Reporter: Dmitry
>            Priority: Critical
>             Fix For: 4.1
>
>         Attachments: SSLIOSession.diff
>
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> I'm a wso2 esb (synapse) user/developer.
> I got a problem with https nio transport.
> I tried versions 4.1 alpha1 and 4.1 beta2.
>  
> The problem: 
> transport failed to receive large (50k) response through nio https.
> The connection is keep-alive and chunked. Every time I received only response divisible 
> by 8192 and last chunk is never returned.
>  
> After digging the logs and code I found that last chunk not returned because 
> of the code in this class org.apache.http.impl.nio.reactor.SSLIOSession.java
>  
> I changed one line in the code and now it's working.
> Now I want to ask somebody who knows the code if this change is ok,
> and maybe it should be applied to httpcore (see attached file)

-- 
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[jira] Resolved: (HTTPCORE-236) Failed to receive last chunk of the large https response through httpcore-nio

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

Oleg Kalnichevski resolved HTTPCORE-236.
----------------------------------------

    Resolution: Fixed

Patch checked in with some minor tweaks. Many thanks, Dmitry, for contributing it.

Oleg

> Failed to receive last chunk of the large https response through httpcore-nio 
> ------------------------------------------------------------------------------
>
>                 Key: HTTPCORE-236
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-236
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.1-beta2
>         Environment: java 1.6_06 windows xp, linux redhat.
>            Reporter: Dmitry
>            Priority: Critical
>             Fix For: 4.1
>
>         Attachments: SSLIOSession.diff
>
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> I'm a wso2 esb (synapse) user/developer.
> I got a problem with https nio transport.
> I tried versions 4.1 alpha1 and 4.1 beta2.
>  
> The problem: 
> transport failed to receive large (50k) response through nio https.
> The connection is keep-alive and chunked. Every time I received only response divisible 
> by 8192 and last chunk is never returned.
>  
> After digging the logs and code I found that last chunk not returned because 
> of the code in this class org.apache.http.impl.nio.reactor.SSLIOSession.java
>  
> I changed one line in the code and now it's working.
> Now I want to ask somebody who knows the code if this change is ok,
> and maybe it should be applied to httpcore (see attached file)

-- 
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[jira] Commented: (HTTPCORE-236) Failed to receive last chunk of the large https response through httpcore-nio

Posted by "Dmitry (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HTTPCORE-236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12915631#action_12915631 ] 

Dmitry commented on HTTPCORE-236:
---------------------------------

Oleg, You are right. There was a problem on my side. Let's mark it as RESOLVED.
Regards/

> Failed to receive last chunk of the large https response through httpcore-nio 
> ------------------------------------------------------------------------------
>
>                 Key: HTTPCORE-236
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-236
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.1-beta2
>         Environment: java 1.6_06 windows xp, linux redhat.
>            Reporter: Dmitry
>            Priority: Critical
>             Fix For: 4.1
>
>         Attachments: SSLClientIOEventDispatch.diff, SSLIOSession.diff
>
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> I'm a wso2 esb (synapse) user/developer.
> I got a problem with https nio transport.
> I tried versions 4.1 alpha1 and 4.1 beta2.
>  
> The problem: 
> transport failed to receive large (50k) response through nio https.
> The connection is keep-alive and chunked. Every time I received only response divisible 
> by 8192 and last chunk is never returned.
>  
> After digging the logs and code I found that last chunk not returned because 
> of the code in this class org.apache.http.impl.nio.reactor.SSLIOSession.java
>  
> I changed one line in the code and now it's working.
> Now I want to ask somebody who knows the code if this change is ok,
> and maybe it should be applied to httpcore (see attached file)

-- 
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[jira] Resolved: (HTTPCORE-236) Failed to receive last chunk of the large https response through httpcore-nio

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

Oleg Kalnichevski resolved HTTPCORE-236.
----------------------------------------

    Resolution: Fixed

> Failed to receive last chunk of the large https response through httpcore-nio 
> ------------------------------------------------------------------------------
>
>                 Key: HTTPCORE-236
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-236
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.1-beta2
>         Environment: java 1.6_06 windows xp, linux redhat.
>            Reporter: Dmitry
>            Priority: Critical
>             Fix For: 4.1
>
>         Attachments: SSLClientIOEventDispatch.diff, SSLIOSession.diff
>
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> I'm a wso2 esb (synapse) user/developer.
> I got a problem with https nio transport.
> I tried versions 4.1 alpha1 and 4.1 beta2.
>  
> The problem: 
> transport failed to receive large (50k) response through nio https.
> The connection is keep-alive and chunked. Every time I received only response divisible 
> by 8192 and last chunk is never returned.
>  
> After digging the logs and code I found that last chunk not returned because 
> of the code in this class org.apache.http.impl.nio.reactor.SSLIOSession.java
>  
> I changed one line in the code and now it's working.
> Now I want to ask somebody who knows the code if this change is ok,
> and maybe it should be applied to httpcore (see attached file)

-- 
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[jira] Commented: (HTTPCORE-236) Failed to receive last chunk of the large https response through httpcore-nio

Posted by "Dmitry (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HTTPCORE-236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12915388#action_12915388 ] 

Dmitry commented on HTTPCORE-236:
---------------------------------

give me two days

> Failed to receive last chunk of the large https response through httpcore-nio 
> ------------------------------------------------------------------------------
>
>                 Key: HTTPCORE-236
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-236
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.1-beta2
>         Environment: java 1.6_06 windows xp, linux redhat.
>            Reporter: Dmitry
>            Priority: Critical
>             Fix For: 4.1
>
>         Attachments: SSLClientIOEventDispatch.diff, SSLIOSession.diff
>
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> I'm a wso2 esb (synapse) user/developer.
> I got a problem with https nio transport.
> I tried versions 4.1 alpha1 and 4.1 beta2.
>  
> The problem: 
> transport failed to receive large (50k) response through nio https.
> The connection is keep-alive and chunked. Every time I received only response divisible 
> by 8192 and last chunk is never returned.
>  
> After digging the logs and code I found that last chunk not returned because 
> of the code in this class org.apache.http.impl.nio.reactor.SSLIOSession.java
>  
> I changed one line in the code and now it's working.
> Now I want to ask somebody who knows the code if this change is ok,
> and maybe it should be applied to httpcore (see attached file)

-- 
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[jira] Updated: (HTTPCORE-236) Failed to receive last chunk of the large https response through httpcore-nio

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

Oleg Kalnichevski updated HTTPCORE-236:
---------------------------------------

    Fix Version/s: 4.1

> Failed to receive last chunk of the large https response through httpcore-nio 
> ------------------------------------------------------------------------------
>
>                 Key: HTTPCORE-236
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-236
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.1-beta2
>         Environment: java 1.6_06 windows xp, linux redhat.
>            Reporter: Dmitry
>            Priority: Critical
>             Fix For: 4.1
>
>         Attachments: SSLIOSession.diff
>
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> I'm a wso2 esb (synapse) user/developer.
> I got a problem with https nio transport.
> I tried versions 4.1 alpha1 and 4.1 beta2.
>  
> The problem: 
> transport failed to receive large (50k) response through nio https.
> The connection is keep-alive and chunked. Every time I received only response divisible 
> by 8192 and last chunk is never returned.
>  
> After digging the logs and code I found that last chunk not returned because 
> of the code in this class org.apache.http.impl.nio.reactor.SSLIOSession.java
>  
> I changed one line in the code and now it's working.
> Now I want to ask somebody who knows the code if this change is ok,
> and maybe it should be applied to httpcore (see attached file)

-- 
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[jira] Updated: (HTTPCORE-236) Failed to receive last chunk of the large https response through httpcore-nio

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

Dmitry updated HTTPCORE-236:
----------------------------

    Attachment: SSLIOSession.diff

org.apache.http.impl.nio.reactor.SSLIOSession.java

public synchronized boolean isAppInputReady() throws IOException {
    int bytesRead = receiveEncryptedData();
    if (bytesRead == -1) {
        this.endOfStream = true;
    }
    doHandshake();
    decryptData();
    // Some decrypted data is available or at the end of stream
    return (this.appEventMask & SelectionKey.OP_READ) > 0
        && (this.inPlain.position() > 0 || (this.endOfStream && this.status == ACTIVE) 
            || this.appBufferStatus.hasBufferedInput() );
}


> Failed to receive last chunk of the large https response through httpcore-nio 
> ------------------------------------------------------------------------------
>
>                 Key: HTTPCORE-236
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-236
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.1-beta2
>         Environment: java 1.6_06 windows xp, linux redhat.
>            Reporter: Dmitry
>            Priority: Critical
>         Attachments: SSLIOSession.diff
>
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> I'm a wso2 esb (synapse) user/developer.
> I got a problem with https nio transport.
> I tried versions 4.1 alpha1 and 4.1 beta2.
>  
> The problem: 
> transport failed to receive large (50k) response through nio https.
> The connection is keep-alive and chunked. Every time I received only response divisible 
> by 8192 and last chunk is never returned.
>  
> After digging the logs and code I found that last chunk not returned because 
> of the code in this class org.apache.http.impl.nio.reactor.SSLIOSession.java
>  
> I changed one line in the code and now it's working.
> Now I want to ask somebody who knows the code if this change is ok,
> and maybe it should be applied to httpcore (see attached file)

-- 
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[jira] Issue Comment Edited: (HTTPCORE-236) Failed to receive last chunk of the large https response through httpcore-nio

Posted by "Dmitry (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HTTPCORE-236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12915294#action_12915294 ] 

Dmitry edited comment on HTTPCORE-236 at 9/27/10 8:56 AM:
----------------------------------------------------------

I was too fast to tell that this patch solves the problem.
I found another case when buffered input "eats" last chunk.

The method inputReady in the class SSLClientIOEventDispatch.java

This method calls conn.consumeInput() only when 
sslSession.isAppInputReady() returns true.

But actually conn (NHttpClientIOTarget) could be buffered. In my case it's a DefaultNHttpClientConnection.

So, I suggest additional change (probably it could be simplified):

public void inputReady(final IOSession session) {
    NHttpClientIOTarget conn =
        (NHttpClientIOTarget) session.getAttribute(ExecutionContext.HTTP_CONNECTION);
    SSLIOSession sslSession =
        (SSLIOSession) session.getAttribute(SSL_SESSION);

    try {
        if(conn instanceof SessionBufferStatus){
            //we have buffered NHttpClientIOTarget, let,s check buffer also...
            boolean hasBufferedInput = hasBufferedInput=((SessionBufferStatus)conn).hasBufferedInput();
            //DLukyanov: i'm not sure that the next "if" operator is necessary...
            //   better will be if NHttpClientIOTarget itself will decide if consume will be effective or not.
            if (sslSession.isAppInputReady() || hasBufferedInput) {
                conn.consumeInput(this.handler);
            }
        }else{
            //just try to consume. we can't guess if it's buffered or not
            conn.consumeInput(this.handler);
        }
        //ORIGINAL CODE:
        //if (sslSession.isAppInputReady()) {
        //    conn.consumeInput(this.handler);
        //}
        
        sslSession.inboundTransport();
    } catch (IOException ex) {
        this.handler.exception(conn, ex);
        sslSession.shutdown();
    }
}


      was (Author: daggett):
    I was too fast to tell that this patch solves the problem.
I found another case when buffered input "eats" last chunk.

The method inputReady in the class SSLClientIOEventDispatch.java

This method calls conn.consumeInput() only when 
sslSession.isAppInputReady() returns true.

But actually conn (NHttpClientIOTarget) could be buffered. In my case it's a DefaultNHttpClientConnection.

So, I suggest additional change (probably it could be simplified):

public void inputReady(final IOSession session) {
	NHttpClientIOTarget conn =
		(NHttpClientIOTarget) session.getAttribute(ExecutionContext.HTTP_CONNECTION);
	SSLIOSession sslSession =
		(SSLIOSession) session.getAttribute(SSL_SESSION);

	try {
		if(conn instanceof SessionBufferStatus){
			//we have buffered NHttpClientIOTarget, let,s check buffer also...
			boolean hasBufferedInput = hasBufferedInput=((SessionBufferStatus)conn).hasBufferedInput();
			//DLukyanov: i'm not sure that the next "if" operator is necessary...
			//   better will be if NHttpClientIOTarget itself will decide if consume will be effective or not.
			if (sslSession.isAppInputReady() || hasBufferedInput) {
				conn.consumeInput(this.handler);
			}
		}else{
			//just try to consume. we can't guess if it's buffered or not
			conn.consumeInput(this.handler);
		}
		//ORIGINAL CODE:
		//if (sslSession.isAppInputReady()) {
		//    conn.consumeInput(this.handler);
		//}
		
		sslSession.inboundTransport();
	} catch (IOException ex) {
		this.handler.exception(conn, ex);
		sslSession.shutdown();
	}
}


  
> Failed to receive last chunk of the large https response through httpcore-nio 
> ------------------------------------------------------------------------------
>
>                 Key: HTTPCORE-236
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-236
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.1-beta2
>         Environment: java 1.6_06 windows xp, linux redhat.
>            Reporter: Dmitry
>            Priority: Critical
>             Fix For: 4.1
>
>         Attachments: SSLClientIOEventDispatch.diff, SSLIOSession.diff
>
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> I'm a wso2 esb (synapse) user/developer.
> I got a problem with https nio transport.
> I tried versions 4.1 alpha1 and 4.1 beta2.
>  
> The problem: 
> transport failed to receive large (50k) response through nio https.
> The connection is keep-alive and chunked. Every time I received only response divisible 
> by 8192 and last chunk is never returned.
>  
> After digging the logs and code I found that last chunk not returned because 
> of the code in this class org.apache.http.impl.nio.reactor.SSLIOSession.java
>  
> I changed one line in the code and now it's working.
> Now I want to ask somebody who knows the code if this change is ok,
> and maybe it should be applied to httpcore (see attached file)

-- 
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[jira] Updated: (HTTPCORE-236) Failed to receive last chunk of the large https response through httpcore-nio

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

Dmitry updated HTTPCORE-236:
----------------------------

    Attachment: SSLClientIOEventDispatch.diff

> Failed to receive last chunk of the large https response through httpcore-nio 
> ------------------------------------------------------------------------------
>
>                 Key: HTTPCORE-236
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-236
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.1-beta2
>         Environment: java 1.6_06 windows xp, linux redhat.
>            Reporter: Dmitry
>            Priority: Critical
>             Fix For: 4.1
>
>         Attachments: SSLClientIOEventDispatch.diff, SSLIOSession.diff
>
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> I'm a wso2 esb (synapse) user/developer.
> I got a problem with https nio transport.
> I tried versions 4.1 alpha1 and 4.1 beta2.
>  
> The problem: 
> transport failed to receive large (50k) response through nio https.
> The connection is keep-alive and chunked. Every time I received only response divisible 
> by 8192 and last chunk is never returned.
>  
> After digging the logs and code I found that last chunk not returned because 
> of the code in this class org.apache.http.impl.nio.reactor.SSLIOSession.java
>  
> I changed one line in the code and now it's working.
> Now I want to ask somebody who knows the code if this change is ok,
> and maybe it should be applied to httpcore (see attached file)

-- 
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org