Repository: ambari Updated Branches: refs/heads/trunk 0fc5b8fd3 -> 3ae844f0a
AMBARI-17430. Fix serviceconfig NPE in db consistency checker.(vbrodetskyi) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/3ae844f0 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/3ae844f0 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/3ae844f0 Branch: refs/heads/trunk Commit: 3ae844f0a9439cb29945e16c8f9963d4261e7c40 Parents: 0fc5b8f Author: Vitaly Brodetskyi <[email protected]> Authored: Fri Jun 24 04:17:08 2016 +0300 Committer: Vitaly Brodetskyi <[email protected]> Committed: Fri Jun 24 04:17:08 2016 +0300 ---------------------------------------------------------------------- .../checks/DatabaseConsistencyCheckHelper.java | 26 +++++++++++--------- 1 file changed, 15 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae844f0/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 d85b6f2..3035de9 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 @@ -511,17 +511,21 @@ public class DatabaseConsistencyCheckHelper { //compare required service configs from stack with mapped service configs from db Map<Integer, Multimap<String, String>> dbServiceVersionConfigs = dbClusterServiceVersionConfigs.get(clusterName); - for (Integer serviceVersion : dbServiceVersionConfigs.keySet()) { - Multimap<String, String> dbServiceConfigs = dbServiceVersionConfigs.get(serviceVersion); - for (String serviceName : dbServiceConfigs.keySet()) { - Collection<String> serviceConfigsFromStack = stackServiceConfigs.get(serviceName); - Collection<String> serviceConfigsFromDB = dbServiceConfigs.get(serviceName); - if (serviceConfigsFromDB != null && serviceConfigsFromStack != null) { - serviceConfigsFromStack.removeAll(serviceConfigsFromDB); - if (!serviceConfigsFromStack.isEmpty()) { - LOG.error("Required config(s): {} is(are) not available for service {} with service config version {} in cluster {}", - StringUtils.join(serviceConfigsFromStack, ","), serviceName, Integer.toString(serviceVersion), clusterName); - errorAvailable = true; + if (dbServiceVersionConfigs != null) { + for (Integer serviceVersion : dbServiceVersionConfigs.keySet()) { + Multimap<String, String> dbServiceConfigs = dbServiceVersionConfigs.get(serviceVersion); + if (dbServiceConfigs != null) { + for (String serviceName : dbServiceConfigs.keySet()) { + Collection<String> serviceConfigsFromStack = stackServiceConfigs.get(serviceName); + Collection<String> serviceConfigsFromDB = dbServiceConfigs.get(serviceName); + if (serviceConfigsFromDB != null && serviceConfigsFromStack != null) { + serviceConfigsFromStack.removeAll(serviceConfigsFromDB); + if (!serviceConfigsFromStack.isEmpty()) { + LOG.error("Required config(s): {} is(are) not available for service {} with service config version {} in cluster {}", + StringUtils.join(serviceConfigsFromStack, ","), serviceName, Integer.toString(serviceVersion), clusterName); + errorAvailable = true; + } + } } } }
