hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ryan Rawson" <ryano...@gmail.com>
Subject Re: Review Request: Increment multiple columns in a row at once
Date Mon, 25 Oct 2010 22:08:21 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://review.cloudera.org/r/1088/#review1660
-----------------------------------------------------------



trunk/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java
<http://review.cloudera.org/r/1088/#comment5541>

    your logic is correct, and normally this is an issue, but there is this line a few down:
    
    
                now = Math.max(now, kv.getTimestamp());
    
    
    I havent played with the new sorting thing, the big problem is you get lost updates via
ICV if things dont go right.  
    
    I just had a notion, when we do the 'get from memstore first' how do we handle duplicate
TSs in snapshot and kvset... looking at the memstore scanner, i see this:
    
    
          return getLower(kvsetNextRow,
              snapshotNextRow);
    
    and inside the implementation of getLower(), we return 'kvsetNextRow' when the two compare
to the same. So it should be ok. If it doesn't work out, the worst case scenario is probably
losing 1ms worth of updates.


- Ryan


On 2010-10-25 15:06:49, Jonathan Gray wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://review.cloudera.org/r/1088/
> -----------------------------------------------------------
> 
> (Updated 2010-10-25 15:06:49)
> 
> 
> Review request for hbase, stack and khemani.
> 
> 
> Summary
> -------
> 
> Adds a new Increment class that allows multiple columns (each w/ own increment amount)
in a single row being incremented in one call.
> 
> The big wins here are being able to do multiple columns in a row in a single RPC and
having it be appended/synced to the WAL in a single call.
> 
> The current trade-off is that you lose atomicity to readers (ie. this does not currently
use RWCC).  Eventually it could but for the current use case I am building this for, it's
okay like this.
> 
> 
> This addresses bug HBASE-2946.
>     http://issues.apache.org/jira/browse/HBASE-2946
> 
> 
> Diffs
> -----
> 
>   trunk/src/main/java/org/apache/hadoop/hbase/client/HTable.java 1026935 
>   trunk/src/main/java/org/apache/hadoop/hbase/client/HTableInterface.java 1026935 
>   trunk/src/main/java/org/apache/hadoop/hbase/client/Increment.java PRE-CREATION 
>   trunk/src/main/java/org/apache/hadoop/hbase/io/HbaseObjectWritable.java 1026935 
>   trunk/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java 1026935 
>   trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1026935 
>   trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 1026935

>   trunk/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java 1026935 
>   trunk/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java 1026935 
>   trunk/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java 1026935 
>   trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java 1026935

> 
> Diff: http://review.cloudera.org/r/1088/diff
> 
> 
> Testing
> -------
> 
> Added TestFromClientSide.testIncrement() which adds some client-side tests of Increment
(and mixing w/ original icv call).  That passes and most the way through a test suite run.
> 
> 
> Thanks,
> 
> Jonathan
> 
>


Mime
View raw message