[
https://issues.apache.org/jira/browse/HBASE-17907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Enis Soztutar updated HBASE-17907:
----------------------------------
Attachment: hbase-17907_v2.patch
Attaching v2 patch, which is more complete compared to the v1 patch. The goal
is to get this version committed and do further improvements / testing on a
follow up patch since every day the patch is growing bigger and bigger.
The patch implements these:
- Client-side Scan API, including {{ResultScanner}} and {{Table::Scan()}}.
- Changes to Result, Cell, Scan and various other small changes in related APIs
- {{AsyncClientScanner}}, {{AsyncScanRpcRetryingCaller}}, etc to implement
retrying RPCs for opening up scanners to regions, and driving the Scan next
calls respectively. Normal scan iteration over multiple regions is a ping-pong
between these two classes, where the AsyncClientScanner will open a scanner
against the next region and give it to the AsyncScanRpcRetryingCaller to drive
the scan by calling scan-next repeatedly.
- {{ScanResultsCache}}, {{ScanController}}, {{ScanResumer}} etc to control the
scan behavior and implement scan pre-fetching.
- {{AsyncTableResultScanner}} to translate from async version of the scans to
the blocking version of ResultScanner.
The class structure and the general "architecture" of the async scan is
borrowed from the Java async client so that we can re-use the same logic in
following the code.
> [C++] End to end Scans from Client/Table
> ----------------------------------------
>
> Key: HBASE-17907
> URL: https://issues.apache.org/jira/browse/HBASE-17907
> Project: HBase
> Issue Type: Sub-task
> Reporter: Enis Soztutar
> Fix For: HBASE-14850
>
> Attachments: hbase-17907-v1.patch, hbase-17907_v2.patch,
> hbase-scan-v0.patch
>
>
> Scan support from client, including the implementation for retrying RPCs,
> scanner management, scan result caching, prefetch, Client side interfaces and
> all related code.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)