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

Reply via email to