Repository: hbase Updated Branches: refs/heads/branch-2 03e7b7826 -> 7ba86d056
HBASE-20119 (addendum) revert the removed methods in TableDescriptorBuilder and TableDescriptor Signed-off-by: Josh Elser <els...@apache.org> Signed-off-by: Michael Stack <st...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/7ba86d05 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/7ba86d05 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/7ba86d05 Branch: refs/heads/branch-2 Commit: 7ba86d056c4923d959c8fd98bceba2f071406529 Parents: 03e7b78 Author: Chia-Ping Tsai <chia7...@gmail.com> Authored: Mon Mar 19 08:59:24 2018 +0800 Committer: Chia-Ping Tsai <chia7...@gmail.com> Committed: Mon Mar 19 09:08:29 2018 +0800 ---------------------------------------------------------------------- .../apache/hadoop/hbase/HTableDescriptor.java | 18 ++------ .../hadoop/hbase/client/TableDescriptor.java | 16 ++++++- .../hbase/client/TableDescriptorBuilder.java | 48 +++++++++++++++++++- 3 files changed, 65 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/7ba86d05/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java index e59ea45..960b91f 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java @@ -21,16 +21,15 @@ package org.apache.hadoop.hbase; import java.io.IOException; import java.util.Collection; import java.util.Collections; -import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; - import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor; +import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor; import org.apache.hadoop.hbase.client.CoprocessorDescriptor; import org.apache.hadoop.hbase.client.CoprocessorDescriptorBuilder; -import org.apache.yetus.audience.InterfaceAudience; import org.apache.hadoop.hbase.client.Durability; import org.apache.hadoop.hbase.client.TableDescriptor; import org.apache.hadoop.hbase.client.TableDescriptorBuilder; @@ -38,8 +37,7 @@ import org.apache.hadoop.hbase.client.TableDescriptorBuilder.ModifyableTableDesc import org.apache.hadoop.hbase.exceptions.DeserializationException; import org.apache.hadoop.hbase.security.User; import org.apache.hadoop.hbase.util.Bytes; -import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor; -import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor; +import org.apache.yetus.audience.InterfaceAudience; /** * HTableDescriptor contains the details about an HBase table such as the descriptors of @@ -763,16 +761,6 @@ public class HTableDescriptor implements TableDescriptor, Comparable<HTableDescr } /** - * Return the list of attached co-processor represented by their name className - * - * @return The list of co-processors classNames - */ - public List<String> getCoprocessors() { - return getCoprocessorDescriptors().stream().map(CoprocessorDescriptor::getClassName) - .collect(Collectors.toList()); - } - - /** * Remove a coprocessor from those set on the table * @param className Class name of the co-processor */ http://git-wip-us.apache.org/repos/asf/hbase/blob/7ba86d05/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptor.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptor.java index 4c46a8f..9456fd4 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptor.java @@ -24,7 +24,7 @@ import java.util.Comparator; import java.util.Iterator; import java.util.Map; import java.util.Set; - +import java.util.stream.Collectors; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.util.Bytes; @@ -87,6 +87,20 @@ public interface TableDescriptor { Collection<CoprocessorDescriptor> getCoprocessorDescriptors(); /** + * Return the list of attached co-processor represented by their name + * className + * @return The list of co-processors classNames + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0. + * Use {@link #getCoprocessorDescriptors()} instead + */ + @Deprecated + default Collection<String> getCoprocessors() { + return getCoprocessorDescriptors().stream() + .map(CoprocessorDescriptor::getClassName) + .collect(Collectors.toList()); + } + + /** * Returns the durability setting for the table. * * @return durability setting for the table. http://git-wip-us.apache.org/repos/asf/hbase/blob/7ba86d05/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptorBuilder.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptorBuilder.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptorBuilder.java index 0f5d3ad..618b0c9 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptorBuilder.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptorBuilder.java @@ -35,6 +35,7 @@ import java.util.TreeSet; import java.util.function.Function; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.Coprocessor; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.TableName; @@ -232,7 +233,7 @@ public class TableDescriptorBuilder { private static final Pattern CP_HTD_ATTR_VALUE_PARAM_PATTERN = Pattern.compile( "(" + CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN + ")=(" + CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN + "),?"); - public static final Pattern CP_HTD_ATTR_KEY_PATTERN = + private static final Pattern CP_HTD_ATTR_KEY_PATTERN = Pattern.compile("^coprocessor\\$([0-9]+)$", Pattern.CASE_INSENSITIVE); /** * Table descriptor for namespace table @@ -302,6 +303,51 @@ public class TableDescriptorBuilder { this.desc = new ModifyableTableDescriptor(desc); } + /** + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0. + * Use {@link #setCoprocessor(String)} instead + */ + @Deprecated + public TableDescriptorBuilder addCoprocessor(String className) throws IOException { + return addCoprocessor(className, null, Coprocessor.PRIORITY_USER, null); + } + + /** + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0. + * Use {@link #setCoprocessor(CoprocessorDescriptor)} instead + */ + @Deprecated + public TableDescriptorBuilder addCoprocessor(String className, Path jarFilePath, + int priority, final Map<String, String> kvs) throws IOException { + desc.setCoprocessor( + CoprocessorDescriptorBuilder.newBuilder(className) + .setJarPath(jarFilePath == null ? null : jarFilePath.toString()) + .setPriority(priority) + .setProperties(kvs == null ? Collections.emptyMap() : kvs) + .build()); + return this; + } + + /** + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0. + * Use {@link #setCoprocessor(CoprocessorDescriptor)} instead + */ + @Deprecated + public TableDescriptorBuilder addCoprocessorWithSpec(final String specStr) throws IOException { + desc.setCoprocessorWithSpec(specStr); + return this; + } + + /** + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0. + * Use {@link #setColumnFamily(ColumnFamilyDescriptor)} instead + */ + @Deprecated + public TableDescriptorBuilder addColumnFamily(final ColumnFamilyDescriptor family) { + desc.setColumnFamily(family); + return this; + } + public TableDescriptorBuilder setCoprocessor(String className) throws IOException { return setCoprocessor(CoprocessorDescriptorBuilder.of(className)); }