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
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