Repository: ambari Updated Branches: refs/heads/feature-branch-AMBARI-21307 529ac321d -> abd5dff93 (forced update)
AMBARI-21364 DB consistency checker throws errors for missing 'parquet-logging' and 'product-info' configs after Ambari upgrade (dlysnichenko via dgrinenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/19d4200e Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/19d4200e Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/19d4200e Branch: refs/heads/feature-branch-AMBARI-21307 Commit: 19d4200e719854b0d304e0d7be5e20f33cda46ff Parents: 29203a1 Author: Dmytro Grinenko <hapyles...@apache.org> Authored: Wed Jul 5 16:16:49 2017 +0300 Committer: Dmytro Grinenko <hapyles...@apache.org> Committed: Wed Jul 5 16:16:49 2017 +0300 ---------------------------------------------------------------------- .../checks/DatabaseConsistencyCheckHelper.java | 14 ++++++++++++++ .../server/state/ClientConfigFileDefinition.java | 15 +++++++++++++-- .../common-services/HIVE/0.12.0.2.0/metainfo.xml | 1 + .../common-services/HIVE/2.1.0.3.0/metainfo.xml | 7 +++++++ 4 files changed, 35 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/19d4200e/ambari-server/src/main/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelper.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelper.java index d1566d9..2559339 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelper.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelper.java @@ -58,6 +58,8 @@ import org.apache.ambari.server.orm.entities.HostComponentDesiredStateEntity; import org.apache.ambari.server.orm.entities.HostComponentStateEntity; import org.apache.ambari.server.orm.entities.MetainfoEntity; import org.apache.ambari.server.orm.entities.ServiceComponentDesiredStateEntity; +import org.apache.ambari.server.state.ClientConfigFileDefinition; +import org.apache.ambari.server.state.ComponentInfo; import org.apache.ambari.server.state.SecurityState; import org.apache.ambari.server.state.ServiceInfo; import org.apache.ambari.server.state.State; @@ -1022,10 +1024,22 @@ public class DatabaseConsistencyCheckHelper { Multimap<String, String> dbServiceConfigs = dbServiceVersionConfigs.get(serviceVersion); if (dbServiceConfigs != null) { for (String serviceName : dbServiceConfigs.keySet()) { + ServiceInfo serviceInfo = serviceInfoMap.get(serviceName); Collection<String> serviceConfigsFromStack = stackServiceConfigs.get(serviceName); Collection<String> serviceConfigsFromDB = dbServiceConfigs.get(serviceName); if (serviceConfigsFromDB != null && serviceConfigsFromStack != null) { serviceConfigsFromStack.removeAll(serviceConfigsFromDB); + if (serviceInfo != null && serviceInfo.getComponents() != null) { + for (ComponentInfo componentInfo : serviceInfo.getComponents()) { + if (componentInfo.getClientConfigFiles() != null) { + for (ClientConfigFileDefinition clientConfigFileDefinition : componentInfo.getClientConfigFiles()) { + if (clientConfigFileDefinition.isOptional()) { + serviceConfigsFromStack.remove(clientConfigFileDefinition.getDictionaryName()); + } + } + } + } + } // skip ranger-{service_name}-* from being checked, unless ranger is installed if(!dbServiceConfigs.containsKey("RANGER")) { http://git-wip-us.apache.org/repos/asf/ambari/blob/19d4200e/ambari-server/src/main/java/org/apache/ambari/server/state/ClientConfigFileDefinition.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/ClientConfigFileDefinition.java b/ambari-server/src/main/java/org/apache/ambari/server/state/ClientConfigFileDefinition.java index 8c97473..354d4d3 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/state/ClientConfigFileDefinition.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/state/ClientConfigFileDefinition.java @@ -32,6 +32,15 @@ public class ClientConfigFileDefinition { private String type; private String fileName; private String dictionaryName; + private boolean optional = false; + + public boolean isOptional() { + return optional; + } + + public void setOptional(boolean optional) { + this.optional = optional; + } public void setType(String type) { this.type = type; @@ -73,7 +82,8 @@ public class ClientConfigFileDefinition { return new EqualsBuilder(). append(type, rhs.type). append(fileName, rhs.fileName). - append(dictionaryName, rhs.dictionaryName).isEquals(); + append(dictionaryName, rhs.dictionaryName). + append(optional, rhs.optional).isEquals(); } @Override @@ -81,6 +91,7 @@ public class ClientConfigFileDefinition { return new HashCodeBuilder(17, 31). append(type). append(fileName). - append(dictionaryName).toHashCode(); + append(dictionaryName). + append(optional).toHashCode(); } } http://git-wip-us.apache.org/repos/asf/ambari/blob/19d4200e/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/metainfo.xml b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/metainfo.xml index e3300e3..d2d6437 100644 --- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/metainfo.xml +++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/metainfo.xml @@ -229,6 +229,7 @@ <type>env</type> <fileName>parquet-logging.properties</fileName> <dictionaryName>parquet-logging</dictionaryName> + <optional>true</optional> </configFile> </configFiles> <configuration-dependencies> http://git-wip-us.apache.org/repos/asf/ambari/blob/19d4200e/ambari-server/src/main/resources/common-services/HIVE/2.1.0.3.0/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HIVE/2.1.0.3.0/metainfo.xml b/ambari-server/src/main/resources/common-services/HIVE/2.1.0.3.0/metainfo.xml index 4225f19..db490c9 100644 --- a/ambari-server/src/main/resources/common-services/HIVE/2.1.0.3.0/metainfo.xml +++ b/ambari-server/src/main/resources/common-services/HIVE/2.1.0.3.0/metainfo.xml @@ -332,6 +332,12 @@ <fileName>hive-exec-log4j.properties</fileName> <dictionaryName>hive-exec-log4j</dictionaryName> </configFile> + <configFile> + <type>env</type> + <fileName>parquet-logging.properties</fileName> + <dictionaryName>parquet-logging</dictionaryName> + <optional>true</optional> + </configFile> </configFiles> <configuration-dependencies> <config-type>hive-site</config-type> @@ -514,6 +520,7 @@ <config-type>ranger-hive-audit</config-type> <config-type>ranger-hive-policymgr-ssl</config-type> <config-type>ranger-hive-security</config-type> + <config-type>parquet-logging</config-type> <config-type>mapred-site</config-type> <config-type>application.properties</config-type> <config-type>hive-atlas-application.properties</config-type>