Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Impala 2.10.0, Impala 2.11.0, Impala 3.0, Impala 2.12.0
-
ghx-label-5
Description
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.
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); }
Attachments
Issue Links
- is related to
-
IMPALA-6907 ImpalaServer::MembershipCallback() may not remove all stale connections to disconnected Impalad nodes
- Resolved