[ 
https://issues.apache.org/jira/browse/HBASE-11835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14112360#comment-14112360
 ] 

Nicolas Liochon commented on HBASE-11835:
-----------------------------------------

bq. What is CancelledKeyEx? Is that new?
It's a runtime, thrown by SelectionKey#interestOps. It occurs when the client 
closes the connection

bq.  When we return, we just go to read a new response
We're reading too much. We don't see it has we ignore the result. But when we 
try to read the next reply, we're in the middle of nowhere so we have a 
parseException.
It's more or less expected to have unexpected calls. Under load with replica 
activated, I really have a lot of them.

bq.  connection.callSender.remove(cts);
It's for cancellation, we we remove it from the list of calls to send (most of 
the time it will have been sent to the server, but not always, especially is 
under GC).
The .callSender.remove contains a call to call.callComplete() already, so this 
line was not necessary.

bq.  Must have been a pain to debug.
A piece of cake compared to the tcp delayed ack / nagle issue :-)


> 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