[ 
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], [~saint....@gmail.com], 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)

Reply via email to