[
https://issues.apache.org/jira/browse/HBASE-11835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14112346#comment-14112346
]
stack commented on HBASE-11835:
-------------------------------
Whats this about on server?
+ } catch (CancelledKeyException e) {
+ // ignore: the client went away.
What is CancelledKeyEx? Is that new?
This looks right:
IOUtils.skipFully(in, whatIsLeftToRead);
+ return;
What was there was badly wrong. When we return, we just go to read a new
response? Should we log that we just got an unexpected call back? Even if in
debug only?
Why this?
connection.callSender.remove(cts);
- call.callComplete();
Good on [~nkeywal] Must have been a pain to debug.
> 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)