[
https://issues.apache.org/jira/browse/IMPALA-11674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17619778#comment-17619778
]
Wenzhe Zhou commented on IMPALA-11674:
--------------------------------------
To prevent this issue happening in future Thrift upgrade, we need to add
unit-test cases to verify IsReadTimeoutTException(), IsPeekTimeoutTException()
and IsConnResetTException(). But I don't know how to add unit test against a
SSL enabled cluster.
> Fix IsPeekTimeoutTException and IsReadTimeoutTException for thrift-0.16.0
> -------------------------------------------------------------------------
>
> Key: IMPALA-11674
> URL: https://issues.apache.org/jira/browse/IMPALA-11674
> Project: IMPALA
> Issue Type: Bug
> Components: Backend
> Affects Versions: Impala 4.2.0
> Reporter: Wenzhe Zhou
> Assignee: Riza Suminto
> Priority: Major
>
> IMPALA-7825 upgraded Thrift version from 0.9.3 to 0.11.0, IMPALA-11384
> upgraded CPP Thrift components from 0.11.0 to Thrift-0.16.0.
> Functions IsPeekTimeoutTException() and IsReadTimeoutTException() in
> be/src/rpc/thrift-util.cc make assumption about the implementation of read(),
> peek(), write() and write_partial() in TSocket.cpp and TSSLSocket.cpp. The
> functions read() and peek() in TSSLSocket.cpp were changed in version 0.11.0
> and 0.16.0 to throw different exception for timeout. This cause
> IsPeekTimeoutTException() and IsReadTimeoutTException() to return wrong value
> after upgrade thrift, which in turn cause TAcceptQueueServer::Peek() to
> rethrow the exception to caller TAcceptQueueServer::run() and make
> TAcceptQueueServer::run() to close the connection.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]