ATLAS-2786: updated HBase client to use all zookeeper entries (cherry picked from commit 2f39428313136b765dbab42a1ee2e6521695d690)
Project: http://git-wip-us.apache.org/repos/asf/atlas/repo Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/5b5788e9 Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/5b5788e9 Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/5b5788e9 Branch: refs/heads/branch-1.0 Commit: 5b5788e9c5ae1c043c4bf52cedbf8b586aa93d90 Parents: 3375e4f Author: Madhan Neethiraj <mad...@apache.org> Authored: Fri Sep 28 08:14:54 2018 -0700 Committer: Ashutosh Mestry <ames...@hortonworks.com> Committed: Thu Nov 1 15:43:00 2018 -0700 ---------------------------------------------------------------------- .../org/apache/atlas/ApplicationProperties.java | 9 +++++++++ .../audit/HBaseBasedAuditRepository.java | 18 +++++++++++------- 2 files changed, 20 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/atlas/blob/5b5788e9/intg/src/main/java/org/apache/atlas/ApplicationProperties.java ---------------------------------------------------------------------- diff --git a/intg/src/main/java/org/apache/atlas/ApplicationProperties.java b/intg/src/main/java/org/apache/atlas/ApplicationProperties.java index 53be543..1d24ee4 100644 --- a/intg/src/main/java/org/apache/atlas/ApplicationProperties.java +++ b/intg/src/main/java/org/apache/atlas/ApplicationProperties.java @@ -19,6 +19,7 @@ package org.apache.atlas; import org.apache.atlas.security.InMemoryJAASConfiguration; import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration.ConfigurationConverter; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; import org.apache.commons.lang.StringUtils; @@ -32,6 +33,7 @@ import java.io.InputStream; import java.net.URL; import java.util.AbstractMap.SimpleEntry; import java.util.Iterator; +import java.util.Properties; /** * Application properties used by Atlas. @@ -135,6 +137,13 @@ public final class ApplicationProperties extends PropertiesConfiguration { return inConf.subset(prefix); } + public static Properties getSubsetAsProperties(Configuration inConf, String prefix) { + Configuration subset = inConf.subset(prefix); + Properties ret = ConfigurationConverter.getProperties(subset); + + return ret; + } + public static Class getClass(Configuration configuration, String propertyName, String defaultValue, Class assignableClass) throws AtlasException { try { http://git-wip-us.apache.org/repos/asf/atlas/blob/5b5788e9/repository/src/main/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepository.java ---------------------------------------------------------------------- diff --git a/repository/src/main/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepository.java b/repository/src/main/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepository.java index 65686ea..d0ff229 100644 --- a/repository/src/main/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepository.java +++ b/repository/src/main/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepository.java @@ -66,6 +66,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.Properties; import static org.apache.atlas.EntityAuditEvent.EntityAuditAction.TAG_ADD; import static org.apache.atlas.EntityAuditEvent.EntityAuditAction.TAG_DELETE; @@ -505,14 +506,17 @@ public class HBaseBasedAuditRepository extends AbstractStorageBasedAuditReposito * @param atlasConf */ public static org.apache.hadoop.conf.Configuration getHBaseConfiguration(Configuration atlasConf) throws AtlasException { - Configuration subsetAtlasConf = - ApplicationProperties.getSubsetConfiguration(atlasConf, CONFIG_PREFIX); - org.apache.hadoop.conf.Configuration hbaseConf = HBaseConfiguration.create(); - Iterator<String> keys = subsetAtlasConf.getKeys(); - while (keys.hasNext()) { - String key = keys.next(); - hbaseConf.set(key, subsetAtlasConf.getString(key)); + Properties properties = ApplicationProperties.getSubsetAsProperties(atlasConf, CONFIG_PREFIX); + org.apache.hadoop.conf.Configuration hbaseConf = HBaseConfiguration.create(); + + for (String key : properties.stringPropertyNames()) { + String value = properties.getProperty(key); + + LOG.info("adding HBase configuration: {}={}", key, value); + + hbaseConf.set(key, value); } + return hbaseConf; }