You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by mo...@apache.org on 2018/01/09 19:51:54 UTC

[03/16] knox git commit: KNOX-1141

KNOX-1141


Project: http://git-wip-us.apache.org/repos/asf/knox/repo
Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/7d42ffd0
Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/7d42ffd0
Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/7d42ffd0

Branch: refs/heads/KNOX-998-Package_Restructuring
Commit: 7d42ffd065c66d810a52a90f8c2dace55f3aceed
Parents: 2b77fe1
Author: Phil Zampino <pz...@apache.org>
Authored: Thu Dec 7 09:36:55 2017 -0500
Committer: Phil Zampino <pz...@apache.org>
Committed: Wed Jan 3 11:46:14 2018 -0500

----------------------------------------------------------------------
 .../discovery/ambari/AmbariClientCommon.java    | 14 ++++--
 .../ambari/AmbariConfigurationMonitor.java      | 52 ++++++++++++++++----
 2 files changed, 53 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/knox/blob/7d42ffd0/gateway-discovery-ambari/src/main/java/org/apache/hadoop/gateway/topology/discovery/ambari/AmbariClientCommon.java
----------------------------------------------------------------------
diff --git a/gateway-discovery-ambari/src/main/java/org/apache/hadoop/gateway/topology/discovery/ambari/AmbariClientCommon.java b/gateway-discovery-ambari/src/main/java/org/apache/hadoop/gateway/topology/discovery/ambari/AmbariClientCommon.java
index a2bf4ea..8e9dd26 100644
--- a/gateway-discovery-ambari/src/main/java/org/apache/hadoop/gateway/topology/discovery/ambari/AmbariClientCommon.java
+++ b/gateway-discovery-ambari/src/main/java/org/apache/hadoop/gateway/topology/discovery/ambari/AmbariClientCommon.java
@@ -53,10 +53,16 @@ class AmbariClientCommon {
 
     Map<String, Map<String, AmbariCluster.ServiceConfiguration>> getActiveServiceConfigurations(String clusterName,
                                                                                                 ServiceDiscoveryConfig config) {
-        return getActiveServiceConfigurations(config.getAddress(),
-                                              clusterName,
-                                              config.getUser(),
-                                              config.getPasswordAlias());
+        Map<String, Map<String, AmbariCluster.ServiceConfiguration>> activeConfigs = null;
+
+        if (config != null) {
+            activeConfigs = getActiveServiceConfigurations(config.getAddress(),
+                                                           clusterName,
+                                                           config.getUser(),
+                                                           config.getPasswordAlias());
+        }
+
+        return activeConfigs;
     }
 
 

http://git-wip-us.apache.org/repos/asf/knox/blob/7d42ffd0/gateway-discovery-ambari/src/main/java/org/apache/hadoop/gateway/topology/discovery/ambari/AmbariConfigurationMonitor.java
----------------------------------------------------------------------
diff --git a/gateway-discovery-ambari/src/main/java/org/apache/hadoop/gateway/topology/discovery/ambari/AmbariConfigurationMonitor.java b/gateway-discovery-ambari/src/main/java/org/apache/hadoop/gateway/topology/discovery/ambari/AmbariConfigurationMonitor.java
index e4b5e43..8a6d95b 100644
--- a/gateway-discovery-ambari/src/main/java/org/apache/hadoop/gateway/topology/discovery/ambari/AmbariConfigurationMonitor.java
+++ b/gateway-discovery-ambari/src/main/java/org/apache/hadoop/gateway/topology/discovery/ambari/AmbariConfigurationMonitor.java
@@ -115,8 +115,10 @@ class AmbariConfigurationMonitor implements ClusterConfigurationMonitor {
             Collection<File> persistedConfigs = FileUtils.listFiles(persistenceDir, new String[]{"conf"}, false);
             for (File persisted : persistedConfigs) {
                 Properties props = new Properties();
+                FileInputStream in = null;
                 try {
-                    props.load(new FileInputStream(persisted));
+                    in = new FileInputStream(persisted);
+                    props.load(in);
 
                     addDiscoveryConfig(props.getProperty(PROP_CLUSTER_NAME), new ServiceDiscoveryConfig() {
                                                             public String getAddress() {
@@ -133,6 +135,14 @@ class AmbariConfigurationMonitor implements ClusterConfigurationMonitor {
                                                         });
                 } catch (IOException e) {
                     log.failedToLoadClusterMonitorServiceDiscoveryConfig(getType(), e);
+                } finally {
+                    if (in != null) {
+                        try {
+                            in.close();
+                        } catch (IOException e) {
+                            //
+                        }
+                    }
                 }
             }
         }
@@ -145,11 +155,13 @@ class AmbariConfigurationMonitor implements ClusterConfigurationMonitor {
     private void loadClusterVersionData() {
         File persistenceDir = getPersistenceDir();
         if (persistenceDir != null) {
-            Collection<File> persistedConfigs = FileUtils.listFiles(getPersistenceDir(), new String[]{"ver"}, false);
+            Collection<File> persistedConfigs = FileUtils.listFiles(persistenceDir, new String[]{"ver"}, false);
             for (File persisted : persistedConfigs) {
                 Properties props = new Properties();
+                FileInputStream in = null;
                 try {
-                    props.load(new FileInputStream(persisted));
+                    in = new FileInputStream(persisted);
+                    props.load(in);
 
                     String source = props.getProperty(PROP_CLUSTER_SOURCE);
                     String clusterName = props.getProperty(PROP_CLUSTER_NAME);
@@ -166,6 +178,14 @@ class AmbariConfigurationMonitor implements ClusterConfigurationMonitor {
 
                 } catch (IOException e) {
                     log.failedToLoadClusterMonitorConfigVersions(getType(), e);
+                } finally {
+                    if (in != null) {
+                        try {
+                            in.close();
+                        } catch (IOException e) {
+                            //
+                        }
+                    }
                 }
             }
         }
@@ -207,10 +227,21 @@ class AmbariConfigurationMonitor implements ClusterConfigurationMonitor {
     }
 
     private void persist(Properties props, File dest) {
+        FileOutputStream out = null;
         try {
-            props.store(new FileOutputStream(dest), PERSISTED_FILE_COMMENT);
+            out = new FileOutputStream(dest);
+            props.store(out, PERSISTED_FILE_COMMENT);
+            out.flush();
         } catch (Exception e) {
             log.failedToPersistClusterMonitorData(getType(), dest.getAbsolutePath(), e);
+        } finally {
+            if (out != null) {
+                try {
+                    out.close();
+                } catch (IOException e) {
+                    //
+                }
+            }
         }
     }
 
@@ -433,12 +464,15 @@ class AmbariConfigurationMonitor implements ClusterConfigurationMonitor {
     Map<String, String> getUpdatedConfigVersions(String address, String clusterName) {
         Map<String, String> configVersions = new HashMap<>();
 
-        Map<String, Map<String, AmbariCluster.ServiceConfiguration>> serviceConfigs =
-                    ambariClient.getActiveServiceConfigurations(clusterName, getDiscoveryConfig(address, clusterName));
+        ServiceDiscoveryConfig sdc = getDiscoveryConfig(address, clusterName);
+        if (sdc != null) {
+            Map<String, Map<String, AmbariCluster.ServiceConfiguration>> serviceConfigs =
+                                                       ambariClient.getActiveServiceConfigurations(clusterName, sdc);
 
-        for (Map<String, AmbariCluster.ServiceConfiguration> serviceConfig : serviceConfigs.values()) {
-            for (AmbariCluster.ServiceConfiguration config : serviceConfig.values()) {
-                configVersions.put(config.getType(), config.getVersion());
+            for (Map<String, AmbariCluster.ServiceConfiguration> serviceConfig : serviceConfigs.values()) {
+                for (AmbariCluster.ServiceConfiguration config : serviceConfig.values()) {
+                    configVersions.put(config.getType(), config.getVersion());
+                }
             }
         }