[
https://issues.apache.org/jira/browse/ZOOKEEPER-1189?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rakesh R updated ZOOKEEPER-1189:
--------------------------------
Attachment: ZOOKEEPER-1189.patch
Attached the patch, Please review the fix.
> 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
> Fix For: 3.3.4
>
> Attachments: 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.
For more information on JIRA, see: http://www.atlassian.com/software/jira