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)
{