You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2013/05/21 00:11:19 UTC

git commit: clean up inputstreams in finally blocks patch by Mikhail Mazursky; reviewed by jbellis for CASSANDRA-5580

Updated Branches:
  refs/heads/trunk 2d99a7d77 -> 6f467d920


clean up inputstreams in finally blocks
patch by Mikhail Mazursky; reviewed by jbellis for CASSANDRA-5580


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6f467d92
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6f467d92
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6f467d92

Branch: refs/heads/trunk
Commit: 6f467d920fc79569dd39cd651889b44efb1fd332
Parents: 2d99a7d
Author: Jonathan Ellis <jb...@apache.org>
Authored: Mon May 20 17:10:56 2013 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Mon May 20 17:11:04 2013 -0500

----------------------------------------------------------------------
 .../cassandra/config/YamlConfigurationLoader.java  |    9 +++++-
 .../locator/YamlFileNetworkTopologySnitch.java     |   16 ++++++++++---
 .../org/apache/cassandra/utils/FBUtilities.java    |    8 +++++-
 .../src/org/apache/cassandra/stress/Session.java   |   18 ++++++++++-----
 4 files changed, 38 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6f467d92/src/java/org/apache/cassandra/config/YamlConfigurationLoader.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/YamlConfigurationLoader.java b/src/java/org/apache/cassandra/config/YamlConfigurationLoader.java
index a46cd65..a9934ab 100644
--- a/src/java/org/apache/cassandra/config/YamlConfigurationLoader.java
+++ b/src/java/org/apache/cassandra/config/YamlConfigurationLoader.java
@@ -25,6 +25,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.cassandra.exceptions.ConfigurationException;
+import org.apache.cassandra.io.util.FileUtils;
 
 import org.yaml.snakeyaml.Loader;
 import org.yaml.snakeyaml.TypeDescription;
@@ -65,11 +66,11 @@ public class YamlConfigurationLoader implements ConfigurationLoader
 
     public Config loadConfig() throws ConfigurationException
     {
+        InputStream input = null;
         try
         {
             URL url = getStorageConfigURL();
-            logger.info("Loading settings from " + url);
-            InputStream input;
+            logger.info("Loading settings from {}", url);
             try
             {
                 input = url.openStream();
@@ -90,5 +91,9 @@ public class YamlConfigurationLoader implements ConfigurationLoader
         {
             throw new ConfigurationException("Invalid yaml", e);
         }
+        finally
+        {
+            FileUtils.closeQuietly(input);
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6f467d92/src/java/org/apache/cassandra/locator/YamlFileNetworkTopologySnitch.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/locator/YamlFileNetworkTopologySnitch.java b/src/java/org/apache/cassandra/locator/YamlFileNetworkTopologySnitch.java
index ce17a52..e9908f2 100644
--- a/src/java/org/apache/cassandra/locator/YamlFileNetworkTopologySnitch.java
+++ b/src/java/org/apache/cassandra/locator/YamlFileNetworkTopologySnitch.java
@@ -30,6 +30,7 @@ import org.apache.cassandra.gms.EndpointState;
 import org.apache.cassandra.gms.Gossiper;
 import org.apache.cassandra.gms.IEndpointStateChangeSubscriber;
 import org.apache.cassandra.gms.VersionedValue;
+import org.apache.cassandra.io.util.FileUtils;
 import org.apache.cassandra.net.MessagingService;
 import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.utils.FBUtilities;
@@ -321,10 +322,17 @@ public class YamlFileNetworkTopologySnitch
                     "Could not read topology config file "
                             + topologyConfigFilename);
         }
-        final Yaml yaml = new Yaml(new Loader(configConstructor));
-        final TopologyConfig topologyConfig = (TopologyConfig) yaml
-                .load(configFileInputStream);
-
+        Yaml yaml;
+        TopologyConfig topologyConfig;
+        try
+        {
+            yaml = new Yaml(new Loader(configConstructor));
+            topologyConfig = (TopologyConfig) yaml.load(configFileInputStream);
+        }
+        finally
+        {
+            FileUtils.closeQuietly(configFileInputStream);
+        }
         final Map<InetAddress, NodeData> nodeDataMap = new HashMap<InetAddress, NodeData>();
 
         if (topologyConfig.topology == null)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6f467d92/src/java/org/apache/cassandra/utils/FBUtilities.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/utils/FBUtilities.java b/src/java/org/apache/cassandra/utils/FBUtilities.java
index 07e72f2..eeeb41f 100644
--- a/src/java/org/apache/cassandra/utils/FBUtilities.java
+++ b/src/java/org/apache/cassandra/utils/FBUtilities.java
@@ -50,6 +50,7 @@ import org.apache.cassandra.dht.Range;
 import org.apache.cassandra.dht.Token;
 import org.apache.cassandra.io.IVersionedSerializer;
 import org.apache.cassandra.io.util.DataOutputBuffer;
+import org.apache.cassandra.io.util.FileUtils;
 import org.apache.cassandra.io.util.IAllocator;
 import org.apache.cassandra.net.AsyncOneResponse;
 import org.apache.thrift.TBase;
@@ -341,9 +342,10 @@ public class FBUtilities
 
     public static String getReleaseVersionString()
     {
+        InputStream in = null;
         try
         {
-            InputStream in = FBUtilities.class.getClassLoader().getResourceAsStream("org/apache/cassandra/config/version.properties");
+            in = FBUtilities.class.getClassLoader().getResourceAsStream("org/apache/cassandra/config/version.properties");
             if (in == null)
             {
                 return "Unknown";
@@ -357,6 +359,10 @@ public class FBUtilities
             logger.warn("Unable to load version.properties", e);
             return "debug version";
         }
+        finally
+        {
+            FileUtils.closeQuietly(in);
+        }
     }
 
     public static long timestampMicros()

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6f467d92/tools/stress/src/org/apache/cassandra/stress/Session.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/Session.java b/tools/stress/src/org/apache/cassandra/stress/Session.java
index 38bb7ff..7fca986 100644
--- a/tools/stress/src/org/apache/cassandra/stress/Session.java
+++ b/tools/stress/src/org/apache/cassandra/stress/Session.java
@@ -219,16 +219,22 @@ public class Session implements Serializable
             {
                 try
                 {
-                    String node = null;
+                    String node;
                     List<String> tmpNodes = new ArrayList<String>();
                     BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(cmd.getOptionValue("D"))));
-                    while ((node = in.readLine()) != null)
+                    try
                     {
-                        if (node.length() > 0)
-                            tmpNodes.add(node);
+                        while ((node = in.readLine()) != null)
+                        {
+                            if (node.length() > 0)
+                                tmpNodes.add(node);
+                        }
+                        nodes = tmpNodes.toArray(new String[tmpNodes.size()]);
+                    }
+                    finally
+                    {
+                        in.close();
                     }
-                    nodes = tmpNodes.toArray(new String[tmpNodes.size()]);
-                    in.close();
                 }
                 catch(IOException ioe)
                 {