[
https://issues.apache.org/jira/browse/HBASE-5974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483900#comment-13483900
]
Anoop Sam John commented on HBASE-5974:
---------------------------------------
bq.This test, TestClientScannerRPCTimeout, looks good. Does it have to be in a
separate class?
Stack the reason why I had done it is we need to have an impl of the HRS where
I can introduce some sleep so as to make the socket timeouts at the client side.
conf.setStrings(HConstants.REGION_SERVER_IMPL,
RegionServerWithScanTimeout.class.getName());
Didn't want to make this change in any of the existing test cases. So is it
reasonable to be have the new test class?
> 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