diff --git hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java index 2a872f4..69b0c60 100644 --- hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java +++ hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java @@ -67,7 +67,8 @@ import org.apache.hadoop.hbase.util.Bytes; @InterfaceStability.Stable public class Get extends Query implements Row, Comparable { - private static final Log LOG = LogFactory.getLog(Get.class); + +private static final Log LOG = LogFactory.getLog(Get.class); private byte [] row = null; private int maxVersions = 1; @@ -482,4 +483,10 @@ public class Get extends Query public Get setReplicaId(int Id) { return (Get) super.setReplicaId(Id); } + + @Override + public Get setIsolationLevel(IsolationLevel level) { + return (Get) super.setIsolationLevel(level); + } + } diff --git hbase-client/src/main/java/org/apache/hadoop/hbase/client/Query.java hbase-client/src/main/java/org/apache/hadoop/hbase/client/Query.java index 6706cef..7d56d80 100644 --- hbase-client/src/main/java/org/apache/hadoop/hbase/client/Query.java +++ hbase-client/src/main/java/org/apache/hadoop/hbase/client/Query.java @@ -28,12 +28,15 @@ import org.apache.hadoop.hbase.security.access.AccessControlConstants; import org.apache.hadoop.hbase.security.access.Permission; import org.apache.hadoop.hbase.security.visibility.Authorizations; import org.apache.hadoop.hbase.security.visibility.VisibilityConstants; + import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ListMultimap; @InterfaceAudience.Public @InterfaceStability.Evolving public abstract class Query extends OperationWithAttributes { + private static final String ISOLATION_LEVEL = "_isolationlevel_"; + protected Filter filter = null; protected int targetReplicaId = -1; protected Consistency consistency = Consistency.STRONG; @@ -143,4 +146,31 @@ public abstract class Query extends OperationWithAttributes { public int getReplicaId() { return this.targetReplicaId; } + + /* + * Set the isolation level for this query. If the + * isolation level is set to READ_UNCOMMITTED, then + * this query will return data from committed and + * uncommitted transactions. If the isolation level + * is set to READ_COMMITTED, then this query will return + * data from committed transactions only. If a isolation + * level is not explicitly set on a Query, then it + * is assumed to be READ_COMMITTED. + * @param level IsolationLevel for this query + */ + public Query setIsolationLevel(IsolationLevel level) { + setAttribute(ISOLATION_LEVEL, level.toBytes()); + return this; + } + /* + * @return The isolation level of this query. + * If no isolation level was set for this query object, + * then it returns READ_COMMITTED. + * @return The IsolationLevel for this query + */ + public IsolationLevel getIsolationLevel() { + byte[] attr = getAttribute(ISOLATION_LEVEL); + return attr == null ? IsolationLevel.READ_COMMITTED : + IsolationLevel.fromBytes(attr); + } } diff --git hbase-client/src/main/java/org/apache/hadoop/hbase/client/Scan.java hbase-client/src/main/java/org/apache/hadoop/hbase/client/Scan.java index 734d36f..4ba0587 100644 --- hbase-client/src/main/java/org/apache/hadoop/hbase/client/Scan.java +++ hbase-client/src/main/java/org/apache/hadoop/hbase/client/Scan.java @@ -89,7 +89,6 @@ public class Scan extends Query { private static final Log LOG = LogFactory.getLog(Scan.class); private static final String RAW_ATTR = "_raw_"; - private static final String ISOLATION_LEVEL = "_isolationlevel_"; /** * EXPERT ONLY. @@ -751,32 +750,7 @@ public class Scan extends Query { return attr == null ? false : Bytes.toBoolean(attr); } - /* - * Set the isolation level for this scan. If the - * isolation level is set to READ_UNCOMMITTED, then - * this scan will return data from committed and - * uncommitted transactions. If the isolation level - * is set to READ_COMMITTED, then this scan will return - * data from committed transactions only. If a isolation - * level is not explicitly set on a Scan, then it - * is assumed to be READ_COMMITTED. - * @param level IsolationLevel for this scan - */ - public Scan setIsolationLevel(IsolationLevel level) { - setAttribute(ISOLATION_LEVEL, level.toBytes()); - return this; - } - /* - * @return The isolation level of this scan. - * If no isolation level was set for this scan object, - * then it returns READ_COMMITTED. - * @return The IsolationLevel for this scan - */ - public IsolationLevel getIsolationLevel() { - byte[] attr = getAttribute(ISOLATION_LEVEL); - return attr == null ? IsolationLevel.READ_COMMITTED : - IsolationLevel.fromBytes(attr); - } + /** * Set whether this scan is a small scan @@ -845,4 +819,10 @@ public class Scan extends Query { public Scan setReplicaId(int Id) { return (Scan) super.setReplicaId(Id); } + + @Override + public Scan setIsolationLevel(IsolationLevel level) { + return (Scan) super.setIsolationLevel(level); + } + }