[ 
https://issues.apache.org/jira/browse/HBASE-1219?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack resolved HBASE-1219.
--------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 0.20.0)

Applied to branch (Doesn't make sense on trunk).  Applied fix for 1219 and 1220 
at same time.

> Scanners can miss values riding the flush transition
> ----------------------------------------------------
>
>                 Key: HBASE-1219
>                 URL: https://issues.apache.org/jira/browse/HBASE-1219
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: stack
>            Priority: Blocker
>             Fix For: 0.19.1
>
>         Attachments: 1219.patch
>
>
> A scanner is made of a memcache scanner and a store files scanner.  When a 
> flush happens, the memcache content gets turned into a store file and is 
> added to the list of already existing scanners.  Currently the two scanners 
> run autonomously.  Ben Maurer points out that if we were returning values out 
> of the memcache because they were of lower value than store file content, the 
> lower pegging that was going on in memcache doesn't make it across when we 
> pick up the memcache values in the flushed store file; we just keep on with 
> whatever the lowest among the store files that were in place before the flush.
> Its a hard one to spot but should be easy to make a test for it.
> Ben Maurer also points out that in StoreFileScanner, we should not register 
> the observer until after the scanners have been setup:
> {code}
>   public StoreFileScanner(final Store store, final long timestamp,
>     final byte [][] targetCols, final byte [] firstRow)
>   throws IOException {
>     super(timestamp, targetCols);
>     this.store = store;
>     this.store.addChangedReaderObserver(this);
>     try {
>       openScanner(firstRow);
> ...
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to