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

Reply via email to