[
https://issues.apache.org/jira/browse/HBASE-11835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14112389#comment-14112389
]
Nicolas Liochon commented on HBASE-11835:
-----------------------------------------
Close to this code, I guess we have another bug
{code}
if (e instanceof SocketTimeoutException) {
// Clean up open calls but don't treat this as a fatal condition,
// since we expect certain responses to not make it by the specified
// {@link ConnectionId#rpcTimeout}.
{code}
If we have a SocketTimeoutException once we started to read, we need to close
the connection as it means we have a call half read (and hence the next call
read will start in the middle of another one). Do you agree? If yes I will fix
it as well...
> Wrong managenement of non expected calls in the client
> ------------------------------------------------------
>
> Key: HBASE-11835
> URL: https://issues.apache.org/jira/browse/HBASE-11835
> Project: HBase
> Issue Type: Bug
> Components: Client
> Affects Versions: 1.0.0, 2.0.0, 0.98.6
> Reporter: Nicolas Liochon
> Assignee: Nicolas Liochon
> Fix For: 1.0.0, 2.0.0, 0.98.7
>
> Attachments: rpcClient.patch
>
>
> If a call is purged or canceled we try to skip the reply from the server, but
> we read the wrong number of bytes so we corrupt the tcp channel. It's hidden
> as it triggers retry and so on, but it's bad for performances obviously.
> It happens with cell blocks.
> [~ram_krish_86], [[email protected]], you know this part better than me,
> do you agree with the analysis and the patch?
> The changes in rpcServer are not fully related: as the client close the
> connections in such situation, I observed both ClosedChannelException and
> CancelledKeyException.
--
This message was sent by Atlassian JIRA
(v6.2#6252)