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");
}