[ 
https://issues.apache.org/jira/browse/IMPALA-6908?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16468050#comment-16468050
 ] 

ASF subversion and git services commented on IMPALA-6908:
---------------------------------------------------------

Commit 33dbdd0bbe6973b3e926d9e392f4a4edd6a0c41e in impala's branch 
refs/heads/2.x from [~sailesh]
[ https://git-wip-us.apache.org/repos/asf?p=impala.git;h=33dbdd0 ]

IMPALA-6908: IsConnResetTException() should include ECONNRESET

The utility function IsConnResetTException() attempted to match error
strings from RPCs that fail due to the remote end resetting the connection
for any reason. However, it did not take care of the situation where
ECONNRESET was sent on a cluster not using TLS.

This patch adds this case as well and adds a custom cluster fault
injection test to test the same.

Change-Id: I1bb997a833917e5166c9ca192da219f50f4439e2
Reviewed-on: http://gerrit.cloudera.org:8080/10265
Reviewed-by: Sailesh Mukil <sail...@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com>


> IsConnResetTException() should include ECONNRESET
> -------------------------------------------------
>
>                 Key: IMPALA-6908
>                 URL: https://issues.apache.org/jira/browse/IMPALA-6908
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Distributed Exec
>    Affects Versions: Impala 2.10.0, Impala 2.11.0, Impala 3.0, Impala 2.12.0
>            Reporter: Michael Ho
>            Assignee: Sailesh Mukil
>            Priority: Major
>
> {{IsConnReset()}} aims to check if the given exception is due to a stale 
> connection. Apparently, it's missing the case in which the error code is 
> ECONNRESET.
> {noformat}
> bool IsConnResetTException(const TTransportException& e) {
>   // Strings taken from TTransport::readAll(). This happens iff 
> TSocket::read() returns 0.
>   // As readAll() is reading non-zero length payload, this can only mean 
> recv() called
>   // by read() returns 0. According to man page of recv(), this implies a 
> stream socket
>   // peer has performed an orderly shutdown.
>   return (e.getType() == TTransportException::END_OF_FILE &&
>              strstr(e.what(), "No more data to read.") != nullptr) ||
>          (e.getType() == TTransportException::INTERNAL_ERROR &&
>              strstr(e.what(), "SSL_read: Connection reset by peer") != 
> nullptr);
> }
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org

Reply via email to