aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorJosh Rosen <joshrosen@databricks.com>2015-11-18 16:00:35 -0800
committerReynold Xin <rxin@databricks.com>2015-11-18 16:00:35 -0800
commit4b117121900e5f242e7c8f46a69164385f0da7cc (patch)
tree3134b152d511565a7bc4ba7b2cc8e61f859a9f2a /examples
parentc07a50b86254578625be777b1890ff95e832ac6e (diff)
downloadspark-4b117121900e5f242e7c8f46a69164385f0da7cc.tar.gz
spark-4b117121900e5f242e7c8f46a69164385f0da7cc.tar.bz2
spark-4b117121900e5f242e7c8f46a69164385f0da7cc.zip
[SPARK-11495] Fix potential socket / file handle leaks that were found via static analysis
The HP Fortify Opens Source Review team (https://www.hpfod.com/open-source-review-project) reported a handful of potential resource leaks that were discovered using their static analysis tool. We should fix the issues identified by their scan. Author: Josh Rosen <joshrosen@databricks.com> Closes #9455 from JoshRosen/fix-potential-resource-leaks.
Diffstat (limited to 'examples')
-rw-r--r--examples/src/main/java/org/apache/spark/examples/streaming/JavaCustomReceiver.java31
1 files changed, 16 insertions, 15 deletions
diff --git a/examples/src/main/java/org/apache/spark/examples/streaming/JavaCustomReceiver.java b/examples/src/main/java/org/apache/spark/examples/streaming/JavaCustomReceiver.java
index 99df259b4e..4b50fbf59f 100644
--- a/examples/src/main/java/org/apache/spark/examples/streaming/JavaCustomReceiver.java
+++ b/examples/src/main/java/org/apache/spark/examples/streaming/JavaCustomReceiver.java
@@ -18,6 +18,7 @@
package org.apache.spark.examples.streaming;
import com.google.common.collect.Lists;
+import com.google.common.io.Closeables;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.function.FlatMapFunction;
@@ -121,23 +122,23 @@ public class JavaCustomReceiver extends Receiver<String> {
/** Create a socket connection and receive data until receiver is stopped */
private void receive() {
- Socket socket = null;
- String userInput = null;
-
try {
- // connect to the server
- socket = new Socket(host, port);
-
- BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
-
- // Until stopped or connection broken continue reading
- while (!isStopped() && (userInput = reader.readLine()) != null) {
- System.out.println("Received data '" + userInput + "'");
- store(userInput);
+ Socket socket = null;
+ BufferedReader reader = null;
+ String userInput = null;
+ try {
+ // connect to the server
+ socket = new Socket(host, port);
+ reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
+ // Until stopped or connection broken continue reading
+ while (!isStopped() && (userInput = reader.readLine()) != null) {
+ System.out.println("Received data '" + userInput + "'");
+ store(userInput);
+ }
+ } finally {
+ Closeables.close(reader, /* swallowIOException = */ true);
+ Closeables.close(socket, /* swallowIOException = */ true);
}
- reader.close();
- socket.close();
-
// Restart in an attempt to connect again when server is active again
restart("Trying to connect again");
} catch(ConnectException ce) {