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

Anoop Sam John commented on HBASE-5974:
---------------------------------------

Regarding RegionScannerHolder
Yes Stack my worry was wrt CP.. In our usage also we are returning a 
RegionScanner from the CP. This is a wrapper over the actual RegionScannerImpl. 
Yes by adding the methods we can make sure that the logic is being executed by 
the HRS but the seqno# maintain should be within the RegionScanner. In our case 
we can just delegate these 2 calls to the RegionScannerImpl created by kernel.  
My worry was this exposes this seq stuff to the user. Ideally the seq maintain 
etc is our problem and to solve we introduce this stuff..  That is why I was/am 
in 2 minds..:(  If you all say that is fine, I can change.. We need to clearly 
document these 2 methods with its importance and what to do wrt this etc.. 
Considering all these my mind is more hanging towards the current way..

bq.optional uint64 callSeq = 6;
bq.it should be called nextSeq or nextCallSeq.... All references should be 
changed if you change this I"d say Anoop
Sure I will change. 

bq.This test, TestClientScannerRPCTimeout, looks good. Does it have to be in a 
separate class? 
Let me see where I can fit this test case. Yes agree with you regarding the 
overhead of minicluster startup.

Also this fix is already running in our cluster. 
                
> Scanner retry behavior with RPC timeout on next() seems incorrect
> -----------------------------------------------------------------
>
>                 Key: HBASE-5974
>                 URL: https://issues.apache.org/jira/browse/HBASE-5974
>             Project: HBase
>          Issue Type: Bug
>          Components: Client, regionserver
>    Affects Versions: 0.90.7, 0.92.1, 0.94.0, 0.96.0
>            Reporter: Todd Lipcon
>            Assignee: Anoop Sam John
>            Priority: Critical
>             Fix For: 0.96.0
>
>         Attachments: 5974_94-V4.patch, 5974_trunk.patch, 5974_trunk-V2.patch, 
> HBASE-5974_0.94.patch, HBASE-5974_94-V2.patch, HBASE-5974_94-V3.patch
>
>
> I'm seeing the following behavior:
> - set RPC timeout to a short value
> - call next() for some batch of rows, big enough so the client times out 
> before the result is returned
> - the HConnectionManager stuff will retry the next() call to the same server. 
> At this point, one of two things can happen: 1) the previous next() call will 
> still be processing, in which case you get a LeaseException, because it was 
> removed from the map during the processing, or 2) the next() call will 
> succeed but skip the prior batch of rows.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to