hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Gray" <jg...@apache.org>
Subject Re: Review Request: Increment multiple columns in a row at once
Date Mon, 25 Oct 2010 22:06:49 GMT

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

(Updated 2010-10-25 15:06:49.931026)


Review request for hbase, stack and khemani.


Changes
-------

Changes from Ryan and Prakash reviews.

We could use a nice test of this concurrent w/ snapshotting, flushing, etc... I don't have
much time to do that now but would like to get this committed.  It works in general and does
not change anything in the existing incrementColumnValue call, it's only the Increment that
skips the snapshot check.

Trying to get this committed so we can push it out to some clusters and start hammering it.


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 (updated)
-----

  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