You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2017/07/06 13:10:19 UTC

[26/50] [abbrv] ambari git commit: AMBARI-21364 DB consistency checker throws errors for missing 'parquet-logging' and 'product-info' configs after Ambari upgrade (dlysnichenko via dgrinenko)

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/branch-feature-AMBARI-12556
Commit: 19d4200e719854b0d304e0d7be5e20f33cda46ff
Parents: 29203a1
Author: Dmytro Grinenko <ha...@apache.org>
Authored: Wed Jul 5 16:16:49 2017 +0300
Committer: Dmytro Grinenko <ha...@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>