Author: stack
Date: Fri Sep  4 23:40:59 2009
New Revision: 811574

URL: http://svn.apache.org/viewvc?rev=811574&view=rev
Log:
HBASE-1812 Document fact that Scanners do not respect row locks

Modified:
    hadoop/hbase/branches/0.20/CHANGES.txt
    
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/client/HTable.java
    
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/client/package-info.java

Modified: hadoop/hbase/branches/0.20/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/CHANGES.txt?rev=811574&r1=811573&r2=811574&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20/CHANGES.txt (original)
+++ hadoop/hbase/branches/0.20/CHANGES.txt Fri Sep  4 23:40:59 2009
@@ -343,6 +343,7 @@
    HBASE-1790  filters are not working correctly (HBASE-1710 HBASE-1807 too)
    HBASE-1779  ThriftServer logged error if getVer() result is empty
    HBASE-1778  Improve PerformanceEvaluation (Schubert Zhang via Stack)
+   HBASE-1812  Document fact that Scanners do not respect row locks
 
   IMPROVEMENTS
    HBASE-1089  Add count of regions on filesystem to master UI; add percentage

Modified: 
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/client/HTable.java
URL: 
http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/client/HTable.java?rev=811574&r1=811573&r2=811574&view=diff
==============================================================================
--- 
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/client/HTable.java 
(original)
+++ 
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/client/HTable.java 
Fri Sep  4 23:40:59 2009
@@ -54,9 +54,11 @@
 
 
 /**
- * Used to communicate with a single HBase table
- * <p>
- * This class is not MT safe for writing.
+ * Used to communicate with a single HBase table.
+ * This class is not thread safe for writes.
+ * Gets, puts, and deletes take out a row lock for the duration
+ * of their operation.  Scans (currently) do not respect
+ * row locking.
  */
 public class HTable {
   private final HConnection connection;

Modified: 
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/client/package-info.java
URL: 
http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/client/package-info.java?rev=811574&r1=811573&r2=811574&view=diff
==============================================================================
--- 
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/client/package-info.java
 (original)
+++ 
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/client/package-info.java
 Fri Sep  4 23:40:59 2009
@@ -30,14 +30,13 @@
  <p>To administer HBase, create and drop tables, list and alter tables, 
  use {...@link org.apache.hadoop.hbase.client.HBaseAdmin}.  Once created, 
table access is via an instance
  of {...@link org.apache.hadoop.hbase.client.HTable}.  You add content to a 
table a row at a time.  To insert,
- create an instance of a {...@link org.apache.hadoop.hbase.client.Put} object 
and after setting it appropriately,
- commit your update using {...@link 
org.apache.hadoop.hbase.client.HTable#put(Put)}.
- To fetch your inserted
- value, use {...@link org.apache.hadoop.hbase.client.Get}.  The Get can be 
specified to be broad -- get all
- on a particular row -- or narrow; return only a single cell value.  
- When finished with your Get settings, invoke {...@link 
org.apache.hadoop.hbase.client.HTable#get(Get)}.  Use
- {...@link org.apache.hadoop.hbase.client.Scan} to set up a scanner -- a 
Cursor-like access.  After
- configuring your Scan instance, call {...@link 
org.apache.hadoop.hbase.client.HTable#getScanner(Scan)} and then
+ create an instance of a {...@link org.apache.hadoop.hbase.client.Put} object. 
 Specify value, target column
+ and optionally a timestamp.  Commit your update using {...@link 
org.apache.hadoop.hbase.client.HTable#put(Put)}.
+ To fetch your inserted value, use {...@link 
org.apache.hadoop.hbase.client.Get}.  The Get can be specified to be broad -- 
get all
+ on a particular row -- or narrow; i.e. return only a single cell value.   
After creating an instance of
+ Get, invoke {...@link org.apache.hadoop.hbase.client.HTable#get(Get)}.  Use
+ {...@link org.apache.hadoop.hbase.client.Scan} to set up a scanner -- a 
Cursor- like access.  After
+ creating and configuring your Scan instance, call {...@link 
org.apache.hadoop.hbase.client.HTable#getScanner(Scan)} and then
  invoke next on the returned object.  Both {...@link 
org.apache.hadoop.hbase.client.HTable#get(Get)} and
  {...@link org.apache.hadoop.hbase.client.HTable#getScanner(Scan)} return a
 {...@link org.apache.hadoop.hbase.client.Result}.
@@ -47,6 +46,9 @@
  You can remove individual cells or entire families, etc.  Pass it to
  {...@link org.apache.hadoop.hbase.client.HTable#delete(Delete)} to execute.
  </p>
+ <p>Puts, Gets and Deletes take out a lock on the target row for the duration 
of their operation.
+ Scans (currently) operate without respect for row locks.
+ </p>
  <p>Client code accessing a cluster finds the cluster by querying ZooKeeper.
  This means that the ZooKeeper quorum to use must be on the client CLASSPATH.
  Usually this means make sure the client can find your 
<code>hbase-site.xml</code>.


Reply via email to