[ 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)