hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anoop Sam John (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-5974) Scanner retry behavior with RPC timeout on next() seems incorrect
Date Fri, 19 Oct 2012 04:56:09 GMT

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

Anoop Sam John commented on HBASE-5974:

bq.Do you foresee the sequencing being used other than in scanners (Its implemented in ScannerCallable
only at moment)? If NOT, would OutOfOrderNextException or OutOfOrderScannerNextException be
a better name than CallSequenceOutOfOrderException? If you do this, would suggest changing
param names from callSeq to nextSeq? The former is generic.
Issues in which a retry from client as a result of timeout can come in other client API like
increment() also I guess. It can increment 2 times or may be more.. Here in this particular
case the names you suggested better than mine.. Sorry I am not good at naming :(

bq.Is CallSequenceOutOfOrderException an exception that will bubble up into the application
or is the client its intended audience? If so, should we annotate it @InterfaceAudience.Private
as Abortable is for instance?
Yes you are correct. I will change

bq.Would it make sense testing ! DoNotRetryIOException rather than calling out the two exceptions
above? Would that be too broad? Otherwise, wondering if these two exceptions should inherit
from a common base class given they are getting this special treatment. Not important. Just
a thought.
Here 3 exceptions getting the special treatment. !DoNotRetryIOException I can try.. Didnt
want to change this key area..But at the time of this patch preperation I felt like why this
is been written this way. I had to add my new Exception out here to make thing work.. May
be will keep the code the current way as in the patch. Will open up a new jira where we can
discuss about making a common base class or other changes. I think your suggestion makes sense
for maintainability

bq.Check your comments. You seem to be saying 'scan' when you mean 'next'.
Yes I need do changes here. Will do

Will continue in next comment....
> 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

View raw message