[ https://issues.apache.org/jira/browse/HBASE-5974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13284904#comment-13284904 ]
Zhihong Yu commented on HBASE-5974: ----------------------------------- Should CallSequenceOutOfOrderException be extending DoNotRetryIOException ? That way you don't need to create a new exception below: {code} + } else if (ioe instanceof CallSequenceOutOfOrderException) { ... + throw new DoNotRetryIOException("Reset scanner", ioe); {code} I think users haven't experienced this bug. In solving the bug, some kludge is introduced. We should think twice before integration. > 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 > Priority: Critical > Fix For: 0.94.1 > > Attachments: HBASE-5974_0.94.patch, HBASE-5974_94-V2.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: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira