You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gc...@apache.org on 2012/12/13 20:45:44 UTC

svn commit: r1421447 - in /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase: ./ client/ coprocessor/ regionserver/ rest/client/

Author: gchanan
Date: Thu Dec 13 19:45:42 2012
New Revision: 1421447

URL: http://svn.apache.org/viewvc?rev=1421447&view=rev
Log:
HBASE-7341 Deprecate RowLocks in 0.94

Modified:
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/UnknownRowLockException.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Delete.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Get.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HTableInterface.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HTablePool.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Increment.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Mutation.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Put.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/RowLock.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/UnknownRowLockException.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/UnknownRowLockException.java?rev=1421447&r1=1421446&r2=1421447&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/UnknownRowLockException.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/UnknownRowLockException.java Thu Dec 13 19:45:42 2012
@@ -22,6 +22,7 @@ package org.apache.hadoop.hbase;
 
 /**
  * Thrown if a region server is passed an unknown row lock id
+ * @deprecated row locks are deprecated (and thus so our associated exceptions).
  */
 public class UnknownRowLockException extends DoNotRetryIOException {
   private static final long serialVersionUID = 993179627856392526L;

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Delete.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Delete.java?rev=1421447&r1=1421446&r2=1421447&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Delete.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Delete.java Thu Dec 13 19:45:42 2012
@@ -86,6 +86,25 @@ public class Delete extends Mutation
   }
 
   /**
+   * Create a Delete operation for the specified row and timestamp.<p>
+   *
+   * If no further operations are done, this will delete all columns in all
+   * families of the specified row with a timestamp less than or equal to the
+   * specified timestamp.<p>
+   *
+   * This timestamp is ONLY used for a delete row operation.  If specifying
+   * families or columns, you must specify each timestamp individually.
+   * @param row row key
+   * @param timestamp maximum version timestamp (only for delete row)
+   * @param rowLock previously acquired row lock, or null
+   * @deprecated {@link RowLock} is deprecated, use #de
+   */
+  public Delete(byte [] row, long timestamp) {
+    this.row = row;
+    this.ts = timestamp;
+  }
+
+  /**
    * Create a Delete operation for the specified row and timestamp, using
    * an optional row lock.<p>
    *
@@ -98,6 +117,7 @@ public class Delete extends Mutation
    * @param row row key
    * @param timestamp maximum version timestamp (only for delete row)
    * @param rowLock previously acquired row lock, or null
+   * @deprecated {@link RowLock} is deprecated, use {@link #Delete(byte[], long)}.
    */
   public Delete(byte [] row, long timestamp, RowLock rowLock) {
     this.row = row;

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Get.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Get.java?rev=1421447&r1=1421446&r2=1421447&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Get.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Get.java Thu Dec 13 19:45:42 2012
@@ -98,6 +98,7 @@ public class Get extends OperationWithAt
    * all columns in all families of the specified row.
    * @param row row key
    * @param rowLock previously acquired row lock, or null
+   * @deprecated {@link RowLock} is deprecated, use {@link #Get(byte[])}.
    */
   public Get(byte [] row, RowLock rowLock) {
     this.row = row;

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HTableInterface.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HTableInterface.java?rev=1421447&r1=1421446&r2=1421447&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HTableInterface.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HTableInterface.java Thu Dec 13 19:45:42 2012
@@ -380,6 +380,7 @@ public interface HTableInterface extends
    * @throws IOException if a remote or network exception occurs.
    * @see RowLock
    * @see #unlockRow
+   * @deprecated {@link RowLock} and associated operations are deprecated
    */
   RowLock lockRow(byte[] row) throws IOException;
 
@@ -390,6 +391,7 @@ public interface HTableInterface extends
    * @throws IOException if a remote or network exception occurs.
    * @see RowLock
    * @see #unlockRow
+   * @deprecated {@link RowLock} and associated operations are deprecated
    */
   void unlockRow(RowLock rl) throws IOException;
 

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HTablePool.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HTablePool.java?rev=1421447&r1=1421446&r2=1421447&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HTablePool.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HTablePool.java Thu Dec 13 19:45:42 2012
@@ -458,11 +458,17 @@ public class HTablePool implements Close
       returnTable(table);
     }
 
+    /**
+     * @deprecated {@link RowLock} and associated operations are deprecated
+     */
     @Override
     public RowLock lockRow(byte[] row) throws IOException {
       return table.lockRow(row);
     }
 
+    /**
+     * @deprecated {@link RowLock} and associated operations are deprecated
+     */
     @Override
     public void unlockRow(RowLock rl) throws IOException {
       table.unlockRow(rl);

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Increment.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Increment.java?rev=1421447&r1=1421446&r2=1421447&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Increment.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Increment.java Thu Dec 13 19:45:42 2012
@@ -73,6 +73,8 @@ public class Increment implements Row {
    * At least one column must be incremented.
    * @param row row key
    * @param rowLock previously acquired row lock, or null
+   * @deprecated {@link RowLock} and associated operations are deprecated,
+   * use {@link #Increment(byte[])}
    */
   public Increment(byte [] row, RowLock rowLock) {
     this.row = row;
@@ -114,6 +116,7 @@ public class Increment implements Row {
   /**
    * Method for retrieving the increment's RowLock
    * @return RowLock
+   * @deprecated {@link RowLock} and associated operations are deprecated
    */
   public RowLock getRowLock() {
     return new RowLock(this.row, this.lockId);
@@ -122,6 +125,7 @@ public class Increment implements Row {
   /**
    * Method for retrieving the increment's lockId
    * @return lockId
+   * @deprecated {@link RowLock} and associated operations are deprecated
    */
   public long getLockId() {
     return this.lockId;

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Mutation.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Mutation.java?rev=1421447&r1=1421446&r2=1421447&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Mutation.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Mutation.java Thu Dec 13 19:45:42 2012
@@ -164,6 +164,7 @@ public abstract class Mutation extends O
   /**
    * Method for retrieving the delete's RowLock
    * @return RowLock
+   * @deprecated {@link RowLock} and associated operations are deprecated
    */
   public RowLock getRowLock() {
     return new RowLock(this.row, this.lockId);
@@ -173,6 +174,7 @@ public abstract class Mutation extends O
    * Method for retrieving the delete's lock ID.
    *
    * @return The lock ID.
+   * @deprecated {@link RowLock} and associated operations are deprecated
    */
   public long getLockId() {
   return this.lockId;

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Put.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Put.java?rev=1421447&r1=1421446&r2=1421447&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Put.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Put.java Thu Dec 13 19:45:42 2012
@@ -67,6 +67,7 @@ public class Put extends Mutation
    * Create a Put operation for the specified row, using an existing row lock.
    * @param row row key
    * @param rowLock previously acquired row lock, or null
+   * @deprecated {@link RowLock} and associated operations are deprecated, use {@link #Put(byte[])}
    */
   public Put(byte [] row, RowLock rowLock) {
       this(row, HConstants.LATEST_TIMESTAMP, rowLock);
@@ -87,6 +88,8 @@ public class Put extends Mutation
    * @param row row key
    * @param ts timestamp
    * @param rowLock previously acquired row lock, or null
+   * @deprecated {@link RowLock} and associated operations are deprecated,
+   * use {@link #Put(byte[], long)}
    */
   public Put(byte [] row, long ts, RowLock rowLock) {
     if(row == null || row.length > HConstants.MAX_ROW_LENGTH) {

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/RowLock.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/RowLock.java?rev=1421447&r1=1421446&r2=1421447&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/RowLock.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/RowLock.java Thu Dec 13 19:45:42 2012
@@ -21,6 +21,7 @@ package org.apache.hadoop.hbase.client;
 
 /**
  * Holds row name and lock id.
+ * @deprecated {@link RowLock} and associated operations are deprecated.
  */
 public class RowLock {
   private byte [] row = null;

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java?rev=1421447&r1=1421446&r2=1421447&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java Thu Dec 13 19:45:42 2012
@@ -535,11 +535,17 @@ public abstract class CoprocessorHost<E 
         return tableName;
       }
 
+      /**
+       * @deprecated {@link RowLock} and associated operations are deprecated.
+       */
       public RowLock lockRow(byte[] row) throws IOException {
         throw new RuntimeException(
           "row locking is not allowed within the coprocessor environment");
       }
 
+      /**
+       * @deprecated {@link RowLock} and associated operations are deprecated.
+       */
       public void unlockRow(RowLock rl) throws IOException {
         throw new RuntimeException(
           "row locking is not allowed within the coprocessor environment");

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=1421447&r1=1421446&r2=1421447&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java Thu Dec 13 19:45:42 2012
@@ -1722,11 +1722,23 @@ public class HRegion implements HeapSize
   //////////////////////////////////////////////////////////////////////////////
   // set() methods for client use.
   //////////////////////////////////////////////////////////////////////////////
+
+  /**
+   * @param delete delete object
+   * @param writeToWAL append to the write ahead lock or not
+   * @throws IOException read exceptions
+   */
+  public void delete(Delete delete, boolean writeToWAL)
+  throws IOException {
+    delete(delete, null, writeToWAL);
+  }
+
   /**
    * @param delete delete object
    * @param lockid existing lock id, or null for grab a lock
    * @param writeToWAL append to the write ahead lock or not
    * @throws IOException read exceptions
+   * @deprecated row locks (lockId) held outside the extent of the operation are deprecated.
    */
   public void delete(Delete delete, Integer lockid, boolean writeToWAL)
   throws IOException {
@@ -1901,6 +1913,7 @@ public class HRegion implements HeapSize
    * @param put
    * @param lockid
    * @throws IOException
+   * @deprecated row locks (lockId) held outside the extent of the operation are deprecated.
    */
   public void put(Put put, Integer lockid) throws IOException {
     this.put(put, lockid, put.getWriteToWAL());
@@ -1913,6 +1926,7 @@ public class HRegion implements HeapSize
    * @param lockid
    * @param writeToWAL
    * @throws IOException
+   * @deprecated row locks (lockId) held outside the extent of the operation are deprecated.
    */
   public void put(Put put, Integer lockid, boolean writeToWAL)
   throws IOException {
@@ -2386,6 +2400,24 @@ public class HRegion implements HeapSize
   //the getting of the lock happens before, so that you would just pass it into
   //the methods. So in the case of checkAndMutate you could just do lockRow,
   //get, put, unlockRow or something
+ /**
+  *
+  * @param row
+  * @param family
+  * @param qualifier
+  * @param compareOp
+  * @param comparator
+  * @param writeToWAL
+  * @throws IOException
+  * @return true if the new put was execute, false otherwise
+  */
+ public boolean checkAndMutate(byte [] row, byte [] family, byte [] qualifier,
+     CompareOp compareOp, WritableByteArrayComparable comparator, Writable w,
+     boolean writeToWAL)
+ throws IOException {
+   return checkAndMutate(row, family, qualifier, compareOp, comparator, w, null, writeToWAL);
+ }
+  
   /**
    *
    * @param row
@@ -2397,6 +2429,7 @@ public class HRegion implements HeapSize
    * @param writeToWAL
    * @throws IOException
    * @return true if the new put was execute, false otherwise
+   * @deprecated row locks (lockId) held outside the extent of the operation are deprecated.
    */
   public boolean checkAndMutate(byte [] row, byte [] family, byte [] qualifier,
       CompareOp compareOp, WritableByteArrayComparable comparator, Writable w,
@@ -4317,9 +4350,19 @@ public class HRegion implements HeapSize
   //
   /**
    * @param get get object
+   * @return result
+   * @throws IOException read exceptions
+   */
+  public Result get(final Get get) throws IOException {
+    return get(get, null);
+  }
+
+  /**
+   * @param get get object
    * @param lockid existing lock id, or null for no previous lock
    * @return result
    * @throws IOException read exceptions
+   * @deprecated row locks (lockId) held outside the extent of the operation are deprecated.
    */
   public Result get(final Get get, final Integer lockid) throws IOException {
     checkRow(get.getRow(), "Get");
@@ -4564,6 +4607,23 @@ public class HRegion implements HeapSize
 
   // TODO: There's a lot of boiler plate code identical
   // to increment... See how to better unify that.
+
+  /**
+  *
+  * Perform one or more append operations on a row.
+  * <p>
+  * Appends performed are done under row lock but reads do not take locks out
+  * so this can be seen partially complete by gets and scans.
+  *
+  * @param append
+  * @param writeToWAL
+  * @return new keyvalues after increment
+  * @throws IOException
+  */
+ public Result append(Append append, boolean writeToWAL)
+     throws IOException {
+   return append(append, null, writeToWAL);
+ }
   /**
    *
    * Perform one or more append operations on a row.
@@ -4576,6 +4636,7 @@ public class HRegion implements HeapSize
    * @param writeToWAL
    * @return new keyvalues after increment
    * @throws IOException
+   * @deprecated row locks (lockId) held outside the extent of the operation are deprecated.
    */
   public Result append(Append append, Integer lockid, boolean writeToWAL)
       throws IOException {
@@ -4715,6 +4776,22 @@ public class HRegion implements HeapSize
   }
 
   /**
+  *
+  * Perform one or more increment operations on a row.
+  * <p>
+  * Increments performed are done under row lock but reads do not take locks
+  * out so this can be seen partially complete by gets and scans.
+  * @param increment
+  * @param writeToWAL
+  * @return new keyvalues after increment
+  * @throws IOException
+  */
+  public Result increment(Increment increment, boolean writeToWAL)
+  throws IOException {
+    return increment(increment, null, writeToWAL);
+  }
+
+  /**
    *
    * Perform one or more increment operations on a row.
    * <p>
@@ -4725,6 +4802,8 @@ public class HRegion implements HeapSize
    * @param writeToWAL
    * @return new keyvalues after increment
    * @throws IOException
+   * @deprecated row locks (lockId) held outside the extent of the operation are deprecated.
+
    */
   public Result increment(Increment increment, Integer lockid,
       boolean writeToWAL)

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1421447&r1=1421446&r2=1421447&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Thu Dec 13 19:45:42 2012
@@ -97,6 +97,7 @@ import org.apache.hadoop.hbase.client.Mu
 import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.client.Result;
 import org.apache.hadoop.hbase.client.Row;
+import org.apache.hadoop.hbase.client.RowLock;
 import org.apache.hadoop.hbase.client.RowMutations;
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.client.coprocessor.Exec;
@@ -2599,6 +2600,9 @@ public class HRegionServer implements HR
     return -1;
   }
 
+  /**
+   * @deprecated {@link RowLock} and associated operations are deprecated.
+   */
   public long lockRow(byte[] regionName, byte[] row) throws IOException {
     checkOpen();
     NullPointerException npe = null;
@@ -2658,6 +2662,9 @@ public class HRegionServer implements HR
     return rl;
   }
 
+  /**
+   * @deprecated {@link RowLock} and associated operations are deprecated.
+   */
   @Override
   @QosPriority(priority=HConstants.HIGH_QOS)
   public void unlockRow(byte[] regionName, long lockId) throws IOException {

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java?rev=1421447&r1=1421446&r2=1421447&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java Thu Dec 13 19:45:42 2012
@@ -575,10 +575,16 @@ public class RemoteHTable implements HTa
     throw new IOException("getRowOrBefore not supported");
   }
 
+  /**
+   * @deprecated {@link RowLock} and associated operations are deprecated
+   */
   public RowLock lockRow(byte[] row) throws IOException {
     throw new IOException("lockRow not implemented");
   }
 
+  /**
+   * @deprecated {@link RowLock} and associated operations are deprecated
+   */
   public void unlockRow(RowLock rl) throws IOException {
     throw new IOException("unlockRow not implemented");
   }