From 0a3a9a5417932da30d12dda2baa1464d4294ace4 Mon Sep 17 00:00:00 2001 From: Chia-Ping Tsai Date: Mon, 4 Sep 2017 16:19:44 +0800 Subject: [PATCH] Revert "HBASE-15497 Incorrect javadoc for atomicity guarantee of Increment and Append" Wrong author information This reverts commit 6e3ffd03e7a27274315b859a3b624736ef0ed20b. --- .../org/apache/hadoop/hbase/client/Append.java | 7 ++++--- .../org/apache/hadoop/hbase/client/Increment.java | 7 ++++--- .../java/org/apache/hadoop/hbase/client/Table.java | 14 ++++++++------ 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Append.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Append.java index 56b5c425ce5..694731318f6 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Append.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Append.java @@ -34,9 +34,10 @@ import org.apache.hadoop.hbase.util.Bytes; /** * Performs Append operations on a single row. *

- * This operation ensures atomicty to readers. Appends are done - * under a single row lock, so write operations to a row are synchronized, and - * readers are guaranteed to see this operation fully completed. + * Note that this operation does not appear atomic to readers. Appends are done + * under a single row lock, so write operations to a row are synchronized, but + * readers do not take row locks so get and scan operations can see this + * operation partially completed. *

* To append to a set of columns of a row, instantiate an Append object with the * row to append to. At least one column to append must be specified using the diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Increment.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Increment.java index a5765c32cf6..c144c87edff 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Increment.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Increment.java @@ -38,9 +38,10 @@ import org.apache.hadoop.hbase.util.ClassSize; /** * Used to perform Increment operations on a single row. *

- * This operation ensures atomicity to readers. Increments are done - * under a single row lock, so write operations to a row are synchronized, and - * readers are guaranteed to see this operation fully completed. + * This operation does not appear atomic to readers. Increments are done + * under a single row lock, so write operations to a row are synchronized, but + * readers do not take row locks so get and scan operations can see this + * operation partially completed. *

* To increment columns of a row, instantiate an Increment object with the row * to increment. At least one column to increment must be specified using the diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Table.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Table.java index 0aaf6dd18db..a2159033a4c 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Table.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Table.java @@ -326,9 +326,10 @@ public interface Table extends Closeable { /** * Appends values to one or more columns within a single row. *

- * This operation guaranteed atomicity to readers. Appends are done - * under a single row lock, so write operations to a row are synchronized, and - * readers are guaranteed to see this operation fully completed. + * This operation does not appear atomic to readers. Appends are done + * under a single row lock, so write operations to a row are synchronized, but + * readers do not take row locks so get and scan operations can see this + * operation partially completed. * * @param append object that specifies the columns and amounts to be used * for the increment operations @@ -340,9 +341,10 @@ public interface Table extends Closeable { /** * Increments one or more columns within a single row. *

- * This operation ensures atomicity to readers. Increments are done - * under a single row lock, so write operations to a row are synchronized, and - * readers are guaranteed to see this operation fully completed. + * This operation does not appear atomic to readers. Increments are done + * under a single row lock, so write operations to a row are synchronized, but + * readers do not take row locks so get and scan operations can see this + * operation partially completed. * * @param increment object that specifies the columns and amounts to be used * for the increment operations