Repository: hbase Updated Branches: refs/heads/master e5e2bde87 -> 482d6bd3a
HBASE-19031 Align exist method in Table and AsyncTable interfaces Deprecate Table::existsAll method and add Table::exists. RemoteHTable already had a deprecated exists method, remove that and implement the new exists from Table interface. Signed-off-by: Chia-Ping Tsai <chia7...@gmail.com> Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/482d6bd3 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/482d6bd3 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/482d6bd3 Branch: refs/heads/master Commit: 482d6bd3a4209b3c642b41ed4e42602a789e8369 Parents: e5e2bde Author: Peter Somogyi <psomo...@cloudera.com> Authored: Wed Oct 25 20:10:11 2017 -0700 Committer: Chia-Ping Tsai <chia7...@gmail.com> Committed: Sun Oct 29 07:11:27 2017 +0800 ---------------------------------------------------------------------- .../org/apache/hadoop/hbase/client/HTable.java | 5 +---- .../org/apache/hadoop/hbase/client/Table.java | 20 +++++++++++++++++++- .../hadoop/hbase/rest/client/RemoteHTable.java | 16 +--------------- .../hbase/regionserver/RegionAsTable.java | 2 +- 4 files changed, 22 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/482d6bd3/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java index 7da1662..61d955f 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java @@ -945,11 +945,8 @@ public class HTable implements Table { return r.getExists(); } - /** - * {@inheritDoc} - */ @Override - public boolean[] existsAll(final List<Get> gets) throws IOException { + public boolean[] exists(List<Get> gets) throws IOException { if (gets.isEmpty()) return new boolean[]{}; if (gets.size() == 1) return new boolean[]{exists(gets.get(0))}; http://git-wip-us.apache.org/repos/asf/hbase/blob/482d6bd3/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Table.java ---------------------------------------------------------------------- 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 f3dae4e..36a0883 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 @@ -110,7 +110,25 @@ public interface Table extends Closeable { * @return Array of boolean. True if the specified Get matches one or more keys, false if not. * @throws IOException e */ - boolean[] existsAll(List<Get> gets) throws IOException; + boolean[] exists(List<Get> gets) throws IOException; + + /** + * Test for the existence of columns in the table, as specified by the Gets. + * This will return an array of booleans. Each value will be true if the related Get matches + * one or more keys, false if not. + * This is a server-side call so it prevents any data from being transferred to + * the client. + * + * @param gets the Gets + * @return Array of boolean. True if the specified Get matches one or more keys, false if not. + * @throws IOException e + * @deprecated since 2.0 version and will be removed in 3.0 version. + * use {@link #exists(List)} + */ + @Deprecated + default boolean[] existsAll(List<Get> gets) throws IOException { + return exists(gets); + } /** * Method that does a batch call on Deletes, Gets, Puts, Increments, Appends, RowMutations. http://git-wip-us.apache.org/repos/asf/hbase/blob/482d6bd3/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java ---------------------------------------------------------------------- diff --git a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java index 5051d47..1eaaa65 100644 --- a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java +++ b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java @@ -367,12 +367,8 @@ public class RemoteHTable implements Table { return (result != null && !(result.isEmpty())); } - /** - * exists(List) is really a list of get() calls. Just use get(). - * @param gets list of Get to test for the existence - */ @Override - public boolean[] existsAll(List<Get> gets) throws IOException { + public boolean[] exists(List<Get> gets) throws IOException { LOG.warn("exists(List<Get>) is really list of get() calls, just use get()"); boolean[] results = new boolean[gets.size()]; for (int i = 0; i < results.length; i++) { @@ -381,16 +377,6 @@ public class RemoteHTable implements Table { return results; } - @Deprecated - public Boolean[] exists(List<Get> gets) throws IOException { - boolean[] results = existsAll(gets); - Boolean[] objectResults = new Boolean[results.length]; - for (int i = 0; i < results.length; ++i) { - objectResults[i] = results[i]; - } - return objectResults; - } - @Override public void put(Put put) throws IOException { CellSetModel model = buildModelFromPut(put); http://git-wip-us.apache.org/repos/asf/hbase/blob/482d6bd3/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/RegionAsTable.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/RegionAsTable.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/RegionAsTable.java index f72060d..440ba71 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/RegionAsTable.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/RegionAsTable.java @@ -100,7 +100,7 @@ public class RegionAsTable implements Table { } @Override - public boolean[] existsAll(List<Get> gets) throws IOException { + public boolean[] exists(List<Get> gets) throws IOException { boolean [] results = new boolean[gets.size()]; int index = 0; for (Get get: gets) {