[
https://issues.apache.org/jira/browse/HBASE-9904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jimmy Xiang updated HBASE-9904:
-------------------------------
Attachment: TestScanRetries.java
I attached the revised TestScanRetries.java that works with trunk, just changed
it to fit with the new interfaces.
> 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: TestScanRetries.java, 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)