hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9904) Solve skipping data in HTable scans
Date Thu, 07 Nov 2013 19:15:18 GMT

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

Ted Yu commented on HBASE-9904:
-------------------------------

{code}
+  private void fixStateOrCancelRetryThanRethrow(IOException e) throws IOException {
{code}
There seems to be a typo above: Than -> Then
{code}
+      throw new DoNotRetryIOException("Reset scanner", ioe);
+    } else {
{code}
nit: the 'else' keyword is not needed.
{code}
+ * Copyright 2010 The Apache Software Foundation
{code}
Year is not needed.
{code}
+ */
+public class TestScanRetries {
{code}
Please add test category.
{code}
--- hadoop/branches/titan/VENDOR.hbase/hbase-trunk/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java
{code}
Hadoop QA accepts level 0 and level 1 patches only.

> Solve skipping data in HTable scans
> -----------------------------------
>
>                 Key: HBASE-9904
>                 URL: https://issues.apache.org/jira/browse/HBASE-9904
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>    Affects Versions: 0.89-fb
>            Reporter: Manukranth Kolloju
>            Priority: Critical
>             Fix For: 0.89-fb, 0.98.0
>
>         Attachments: scan.diff
>
>
> The HTable client cannot retry a scan operation in the getRegionServerWithRetries code
path.
> This will result in the client missing data. This can be worked around using hbase.client.retries.number
to 1.
> The whole problem is that Callable knows nothing about retries and the protocol it dances
to as well doesn't support retires.
> This fix will keep Callable protocol (ugly thing worth merciless refactoring) intact
but will change
> ScannerCallable to anticipate retries. What we want is to make failed operations to be
identities for outside world:
> N1 , N2 , F3 , N3 , F4 , F4 , N4 ... = N1 , N2 , N3 , N4 ...
> where Nk are successful operation and Fk are failed operations.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message