[ https://issues.apache.org/jira/browse/ZOOKEEPER-1189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13115399#comment-13115399 ]
Hudson commented on ZOOKEEPER-1189: ----------------------------------- Integrated in ZooKeeper-trunk #1316 (See [https://builds.apache.org/job/ZooKeeper-trunk/1316/]) ZOOKEEPER-1189. For an invalid snapshot file(less than 10bytes size) RandomAccessFile stream is leaking. (Rakesh R via mahadev) mahadev : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1176144 Files : * /zookeeper/trunk/CHANGES.txt * /zookeeper/trunk/src/java/main/org/apache/zookeeper/server/persistence/Util.java * /zookeeper/trunk/src/java/test/org/apache/zookeeper/server/ZooKeeperServerTest.java > For an invalid snapshot file(less than 10bytes size) RandomAccessFile stream > is leaking. > ---------------------------------------------------------------------------------------- > > Key: ZOOKEEPER-1189 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1189 > Project: ZooKeeper > Issue Type: Bug > Components: server > Affects Versions: 3.3.3 > Reporter: Rakesh R > Assignee: Rakesh R > Fix For: 3.3.4, 3.4.0, 3.5.0 > > Attachments: ZOOKEEPER-1189-branch-3.3.patch, ZOOKEEPER-1189.1.patch, > ZOOKEEPER-1189.patch > > > When loading the snapshot, ZooKeeper will consider only the 'snapshots with > atleast 10 bytes size'. Otherwsie it will ignore and just return without > closing the RandomAccessFile. > {noformat} > Util.isValidSnapshot() having the following logic. > // Check for a valid snapshot > RandomAccessFile raf = new RandomAccessFile(f, "r"); > // including the header and the last / bytes > // the snapshot should be atleast 10 bytes > if (raf.length() < 10) { > return false; > } > {noformat} > Since the snapshot file validation logic is outside try block, it won't go to > the finally block and will be leaked. > Suggestion: Move the validation logic to the try/catch block. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira