hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HBASE-532) Odd interaction between HRegion.get, HRegion.deleteAll and compactions
Date Mon, 14 Apr 2008 18:29:05 GMT

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

stack updated HBASE-532:
------------------------

    Attachment: 532.patch

Below is commit message.  Passes all tests locally.

{code}
M  src/test/org/apache/hadoop/hbase/regionserver/TestHMemcache.java
    Added calling of new clearSnapshot method to runSnapshot method.
    (testGetNextRow): Added. 
M  src/java/org/apache/hadoop/hbase/regionserver/Memcache.java
    Refactor memcache scanner so rather than hold open iterators against
    memcache, snapshot and history, instead we just do a 'get' on each
    scanner 'next'  (A new getNextRow returns the row that follows the
    'current' one -- the result of last call to 'next').  In past, we
    gave false impression that scanners gave the state of the data at
    time scanner was taken out. Fact was that scanners are per region
    and we scan across the table a region at a time -- so each scanner
    would be taken out at different times.  With this patch, rather, we
    embrace the fact that 'next' gives you state of data at time 'next'
    was called; regardless of when scan started.
    Added javadoc and comments.
    (Constructor): Removed. It did nothing.
    (createSortedMap): Added utility.
    (snapshot): Return the snapshot.  Must now be answered by new
    clearSnapshot method.  Also added getSnapshot for tests.
    (getLowest, getNextRow): Added.
    (MemcacheScanner): Refactored.  Got rid of running list of iterators.
    Got rid of copying current state of snapshot into a scanner backing map.
    Changed HAbstractScanner so we don't have to implement getFirstRow and
    getNext and closeSubscanner any more.
M  src/java/org/apache/hadoop/hbase/regionserver/HStore.java
    Add and edit of comments.  Added call to clearSnapshot when done flushing.
M  src/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java
    Moved code that used to be in scanner superclass here since its particular
    to this implementation, no longer shared by memcache.
M  src/java/org/apache/hadoop/hbase/regionserver/HAbstractScanner.java
    Moved  findFirstRow, closeSubScanner, getNext up into StoreFileScanner
    and out of here (as well as the particular next implementation).
M  src/java/org/apache/hadoop/hbase/regionserver/InternalScanner.java
    Javadoc edit.
{code}

> Odd interaction between HRegion.get, HRegion.deleteAll and compactions
> ----------------------------------------------------------------------
>
>                 Key: HBASE-532
>                 URL: https://issues.apache.org/jira/browse/HBASE-532
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.2.0, 0.1.1
>            Reporter: Jim Kellerman
>            Assignee: stack
>            Priority: Blocker
>             Fix For: 0.2.0, 0.1.2
>
>         Attachments: 532.patch
>
>
> If you apply the patch for HBASE-483 to the 0.1 branch and comment out lines 309 and
315 of MetaUtils.java (which force compactions of the root and meta regions respectively),
TestMergeTool fails. Why forcing compactions makes the test succeed is a mystery to me.

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