Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase >> mail # dev >> Review Request: HBASE-2001 RegionObserver


Copy link to this message
-
FW: Review Request: HBASE-2001 RegionObserver
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://review.hbase.org/r/96/#review124
-----------------------------------------------------------

src/main/java/org/apache/hadoop/hbase/coprocessor/Coprocessor.java
<http://review.hbase.org/r/96/#comment698>

    What is purpose of this?

src/main/java/org/apache/hadoop/hbase/coprocessor/Coprocessor.java
<http://review.hbase.org/r/96/#comment694>

    Split decisions will not be made post-compaction as they are now after HBASE-2375 goes in.  That decision will actually be made at flush time, most likely post-flush though we'll know at the start whether it will end up needing to split.

src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
<http://review.hbase.org/r/96/#comment695>

    So a coprocessor implementation would potentially implement Coprocessor and RegionObserver?  Notifications of higher level events happen through Coprocessor, this is for lower level hooks?  Maybe a bit more detail in class comment to describe difference between the two interfaces.

src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
<http://review.hbase.org/r/96/#comment701>

    This makes sense now reading the rest of the code.  But it seems that the Coprocessor is in fact the "observer" that just gets notified of actions while this observer is actually the "processor" that can manipulate stuff?

src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
<http://review.hbase.org/r/96/#comment696>

    And descending timestamp

src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
<http://review.hbase.org/r/96/#comment697>

    This is great javadoc

src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
<http://review.hbase.org/r/96/#comment699>

    Gets are called after the Get is performed, Puts and Deletes are called before, correct?
    
    Would there be a use case for pre-Get hook?  Just wondering.

src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
<http://review.hbase.org/r/96/#comment700>

    Javadoc says it's called after the split happens but before report to master.  Seems that this happens once we create the new HRegions but before we actually do the swap.  What exactly would/could a coprocessor be doing in this window?
    
    One thing to be aware of is the master changes coming are going to make a split run entirely on the RS including the edits to META, closing of the parent, and opening of the children.  Where in that process would this hook make sense?
- Jonathan
On 2010-05-31 22:47:25, Andrew Purtell wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://review.hbase.org/r/96/
> -----------------------------------------------------------
>
> (Updated 2010-05-31 22:47:25)
>
>
> Review request for hbase.
>
>
> Summary
> -------
>
> This patch is the parts of the HBASE-2001 patch which implements support for the RegionObserver interface. This enables extension of the regionserver through stacking dynamically loaded classes i.e. from jars on HDFS onto upcalls from HRegion. I made some improvements over the other patch and added a test case. There are other parts of 2001 which need some thought and some work and would not be useful without client side support. This is the part which could be immediately useful.
>
> Submitted for feedback.
>
> Incorporates a user suggestion and Stack +1 about hooking compaction.
>
>
> This addresses bug HBASE-2001.
>     http://issues.apache.org/jira/browse/HBASE-2001
>
>
> Diffs
> -----
>
>   src/main/java/org/apache/hadoop/hbase/coprocessor/Coprocessor.java PRE-CREATION