hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-1219) Scanners can miss values riding the flush transition
Date Tue, 10 Mar 2009 21:47:50 GMT

    [ https://issues.apache.org/jira/browse/HBASE-1219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680632#action_12680632
] 

stack commented on HBASE-1219:
------------------------------

All tests pass.  Would like a review before committing.

> 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, 0.20.0
>
>         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.


Mime
View raw message