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 <jbel...@apache.org> Authored: Mon May 20 17:10:56 2013 -0500 Committer: Jonathan Ellis <jbel...@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) {