[
https://issues.apache.org/jira/browse/HBASE-17339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15783076#comment-15783076
]
Eshcar Hillel commented on HBASE-17339:
---------------------------------------
If I understand correctly then when clients put cells into peer clusters read
operations can return different results depending on where they read from. So
this is not just a problem of this optimization.
As Phil suggested we can use the TimeRangeTracker at each store to understand
whether or not monotonicity is maintained.
We can add a step-0 where the region queries all relevant stores to determine
if they all maintain monotonicity and if so apply the optimization.
Sounds reasonable?
I can work on a new patch that checks monotonicity before memory scan and
extends conditions to verify the result of the memory scan is complete before
returning it to the user.
> Scan-Memory-First Optimization for Get Operation
> ------------------------------------------------
>
> Key: HBASE-17339
> URL: https://issues.apache.org/jira/browse/HBASE-17339
> Project: HBase
> Issue Type: Improvement
> Reporter: Eshcar Hillel
> Attachments: HBASE-17339-V01.patch
>
>
> The current implementation of a get operation (to retrieve values for a
> specific key) scans through all relevant stores of the region; for each store
> both memory components (memstores segments) and disk components (hfiles) are
> scanned in parallel.
> We suggest to apply an optimization that speculatively scans memory-only
> components first and only if the result is incomplete scans both memory and
> disk.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)