[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13114164#comment-13114164
 ] 

Mahadev konar commented on ZOOKEEPER-1189:
------------------------------------------

@rakesh,
 Can you please provide a patch for 3.3 branch? The patch seems to apply to 
both 3.4 and 3.5 but does not apply to 3.3 branch.


> 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.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.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to