You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by fp...@apache.org on 2014/11/29 16:53:52 UTC
svn commit: r1642438 - in /zookeeper/trunk: ./
src/contrib/loggraph/src/java/org/apache/zookeeper/graph/
src/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/
src/contrib/rest/src/java/org/apache/zookeeper/server/jersey/cfg/
src/java/syste...
Author: fpj
Date: Sat Nov 29 15:53:52 2014
New Revision: 1642438
URL: http://svn.apache.org/r1642438
Log:
ZOOKEEPER-2064 Prevent resource leak in various classes (Ted Yu via fpj)
Modified:
zookeeper/trunk/CHANGES.txt
zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/Log4JSource.java
zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/RandomAccessFileReader.java
zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/NumEvents.java
zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/StaticContent.java
zookeeper/trunk/src/contrib/rest/src/java/org/apache/zookeeper/server/jersey/cfg/RestCfg.java
zookeeper/trunk/src/java/systest/org/apache/zookeeper/test/system/GenerateLoad.java
zookeeper/trunk/src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java
Modified: zookeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/trunk/CHANGES.txt?rev=1642438&r1=1642437&r2=1642438&view=diff
==============================================================================
--- zookeeper/trunk/CHANGES.txt (original)
+++ zookeeper/trunk/CHANGES.txt Sat Nov 29 15:53:52 2014
@@ -15,6 +15,8 @@ BUGFIXES:
ZOOKEEPER-2052 Unable to delete a node when the node has no children
(Hongchao Deng and Yip Ng via rakeshr)
+ ZOOKEEPER-2064 Prevent resource leak in various classes (Ted Yu via fpj)
+
IMPROVEMENTS:
ZOOKEEPER-1660 Documentation for Dynamic Reconfiguration (Reed Wanderman-Milne via shralex)
Modified: zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/Log4JSource.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/Log4JSource.java?rev=1642438&r1=1642437&r2=1642438&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/Log4JSource.java (original)
+++ zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/Log4JSource.java Sat Nov 29 15:53:52 2014
@@ -351,11 +351,21 @@ public class Log4JSource implements LogS
LogIterator iter = s.iterator(starttime, endtime);
System.out.println(iter);
+ try {
+ iter.close();
+ } catch (IOException ioe) {
+ System.out.println(ioe.getMessage());
+ }
}; };
Thread t2 = new Thread() { public void run () {
LogIterator iter = s.iterator(starttime, endtime);
System.out.println(iter);
+ try {
+ iter.close();
+ } catch (IOException ioe) {
+ System.out.println(ioe.getMessage());
+ }
}; };
Thread t3 = new Thread() { public void run () {
Modified: zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/RandomAccessFileReader.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/RandomAccessFileReader.java?rev=1642438&r1=1642437&r2=1642438&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/RandomAccessFileReader.java (original)
+++ zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/RandomAccessFileReader.java Sat Nov 29 15:53:52 2014
@@ -324,5 +324,6 @@ public class RandomAccessFileReader exte
System.out.println(f.readLine());
f.seek(pos2);
System.out.println(f.readLine());
+ f.close();
}
};
Modified: zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/NumEvents.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/NumEvents.java?rev=1642438&r1=1642437&r2=1642438&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/NumEvents.java (original)
+++ zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/NumEvents.java Sat Nov 29 15:53:52 2014
@@ -81,6 +81,7 @@ public class NumEvents extends JsonServl
if (LOG.isDebugEnabled()) {
LOG.debug("handle(start= " + starttime + ", end=" + endtime + ", numEntries=" + size +")");
}
+ iter.close();
return JSONValue.toJSONString(data);
}
}
Modified: zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/StaticContent.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/StaticContent.java?rev=1642438&r1=1642437&r2=1642438&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/StaticContent.java (original)
+++ zookeeper/trunk/src/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/StaticContent.java Sat Nov 29 15:53:52 2014
@@ -39,9 +39,12 @@ public class StaticContent extends HttpS
response.setStatus(HttpServletResponse.SC_NOT_FOUND);
return;
}
-
- while (resource.available() > 0) {
+ try {
+ while (resource.available() > 0) {
response.getWriter().write(resource.read());
+ }
+ } finally {
+ resource.close();
}
// response.setContentType("text/plain;charset=utf-8");
response.setStatus(HttpServletResponse.SC_OK);
Modified: zookeeper/trunk/src/contrib/rest/src/java/org/apache/zookeeper/server/jersey/cfg/RestCfg.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/rest/src/java/org/apache/zookeeper/server/jersey/cfg/RestCfg.java?rev=1642438&r1=1642437&r2=1642438&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/rest/src/java/org/apache/zookeeper/server/jersey/cfg/RestCfg.java (original)
+++ zookeeper/trunk/src/contrib/rest/src/java/org/apache/zookeeper/server/jersey/cfg/RestCfg.java Sat Nov 29 15:53:52 2014
@@ -36,9 +36,13 @@ public class RestCfg {
}
public RestCfg(InputStream io) throws IOException {
+ try {
cfg.load(io);
extractEndpoints();
extractCredentials();
+ } finally {
+ io.close();
+ }
}
private void extractCredentials() {
Modified: zookeeper/trunk/src/java/systest/org/apache/zookeeper/test/system/GenerateLoad.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/java/systest/org/apache/zookeeper/test/system/GenerateLoad.java?rev=1642438&r1=1642437&r2=1642438&view=diff
==============================================================================
--- zookeeper/trunk/src/java/systest/org/apache/zookeeper/test/system/GenerateLoad.java (original)
+++ zookeeper/trunk/src/java/systest/org/apache/zookeeper/test/system/GenerateLoad.java Sat Nov 29 15:53:52 2014
@@ -696,12 +696,16 @@ public class GenerateLoad {
s.getOutputStream().write("stat".getBytes());
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String line;
- while((line = br.readLine()) != null) {
+ try {
+ while((line = br.readLine()) != null) {
if (line.startsWith("Mode: ")) {
- return line.substring(6);
+ return line.substring(6);
}
+ }
+ return "unknown";
+ } finally {
+ s.close();
}
- return "unknown";
}
private static void doUsage() {
Modified: zookeeper/trunk/src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java?rev=1642438&r1=1642437&r2=1642438&view=diff
==============================================================================
--- zookeeper/trunk/src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java (original)
+++ zookeeper/trunk/src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java Sat Nov 29 15:53:52 2014
@@ -68,7 +68,12 @@ class QuorumPeerInstance implements Inst
Properties p;
if (zkDirs.exists()) {
p = new Properties();
- p.load(new FileInputStream(zkDirs));
+ FileInputStream input = new FileInputStream(zkDirs);
+ try {
+ p.load(input);
+ } finally {
+ input.close();
+ }
} else {
p = System.getProperties();
}