[ https://issues.apache.org/jira/browse/HBASE-17339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15783540#comment-15783540 ]
Eshcar Hillel edited comment on HBASE-17339 at 12/28/16 7:19 PM: ----------------------------------------------------------------- We can use existing TRT, no need for a new one. Only need to remember the maximal flushed TS so far and make sure the range in TRT is beyond this TS. The protocol including step-0 is for each operation: {code} 0. check monotonicity in all relevant stores if monotonicity is maintained and the optimization is applicable (given list of columns) then 1. open all relevant *memory* scanners 2. get results ONLY if result is not complete then 3. open all scanners 4. get results else 5. open all scanners 6. get results {code} possible executions are 0-1-2, 0-1-2-3-4, 0-5-6, the operation returns the result of step 2 (access only memory) or steps 4/6 (access memory and HFiles) was (Author: eshcar): We can use existing TRT, no need for a new one. Only need to remember the maximal flushed TS so far and make sure the range in TRT is beyond this TS. The protocol including step-0 is for each step: {code} 0. check monotonicity in all relevant stores if monotonicity is maintained and the optimization is applicable (given list of columns) then 1. open all relevant *memory* scanners 2. get results ONLY if result is not complete then 3. open all scanners 4. get results else 5. open all scanners 6. get results {code} possible executions are 0-1-2, 0-1-2-3-4, 0-5-6, the operation returns the result of step 2 (access only memory) or steps 4/6 (access memory and HFiles) > 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)