You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by vb...@apache.org on 2016/09/03 00:54:11 UTC

ambari git commit: AMBARI-18296. Database Consistency Check Fails With NPE With Missing Service From Stack.(vbrodetskyi)

Repository: ambari
Updated Branches:
  refs/heads/branch-2.5 0b3b6c3df -> 5ec8d4b09


AMBARI-18296. Database Consistency Check Fails With NPE With Missing Service From Stack.(vbrodetskyi)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/5ec8d4b0
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/5ec8d4b0
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/5ec8d4b0

Branch: refs/heads/branch-2.5
Commit: 5ec8d4b09431d38126a5fb1e0d79031831487222
Parents: 0b3b6c3
Author: Vitaly Brodetskyi <vb...@hortonworks.com>
Authored: Sat Sep 3 03:53:43 2016 +0300
Committer: Vitaly Brodetskyi <vb...@hortonworks.com>
Committed: Sat Sep 3 03:53:43 2016 +0300

----------------------------------------------------------------------
 .../server/checks/DatabaseConsistencyCheckHelper.java   | 12 +++++++++---
 .../checks/DatabaseConsistencyCheckHelperTest.java      |  6 +++---
 2 files changed, 12 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/5ec8d4b0/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 36a2d99..fa42e8a 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
@@ -540,9 +540,15 @@ public class DatabaseConsistencyCheckHelper {
         Map<String, ServiceInfo> serviceInfoMap = ambariMetaInfo.getServices(stackName, stackVersion);
         for (String serviceName : serviceNames) {
           ServiceInfo serviceInfo = serviceInfoMap.get(serviceName);
-          Set<String> configTypes = serviceInfo.getConfigTypeAttributes().keySet();
-          for (String configType : configTypes) {
-            stackServiceConfigs.put(serviceName, configType);
+          if (serviceInfo != null) {
+            Set<String> configTypes = serviceInfo.getConfigTypeAttributes().keySet();
+            for (String configType : configTypes) {
+              stackServiceConfigs.put(serviceName, configType);
+            }
+          } else {
+            LOG.warn("Service {} is not available for stack {} in cluster {}",
+                    serviceName, stackName + "-" + stackVersion, clusterName);
+            warningAvailable = true;
           }
         }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/5ec8d4b0/ambari-server/src/test/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelperTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelperTest.java
index a7c77e1..86a57c5 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelperTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelperTest.java
@@ -249,9 +249,9 @@ public class DatabaseConsistencyCheckHelperTest {
 
     expect(mockHDFSServiceInfo.getConfigTypeAttributes()).andReturn(configAttributes);
     expect(mockAmbariMetainfo.getServices("HDP", "2.2")).andReturn(services);
-    expect(serviceConfigResultSet.next()).andReturn(true);
-    expect(serviceConfigResultSet.getString("service_name")).andReturn("HDFS");
-    expect(serviceConfigResultSet.getString("type_name")).andReturn("core-site");
+    expect(serviceConfigResultSet.next()).andReturn(true).times(2);
+    expect(serviceConfigResultSet.getString("service_name")).andReturn("HDFS").andReturn("HBASE");
+    expect(serviceConfigResultSet.getString("type_name")).andReturn("core-site").andReturn("hbase-env");
     expect(stackResultSet.next()).andReturn(true);
     expect(stackResultSet.getString("stack_name")).andReturn("HDP");
     expect(stackResultSet.getString("stack_version")).andReturn("2.2");