[
https://issues.apache.org/jira/browse/IMPALA-11674?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wenzhe Zhou updated IMPALA-11674:
---------------------------------
Description:
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.
was:
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() 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.
> 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]