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

Mime
View raw message