Let's discuss this on the JIRA.  I think Tsuyoshi OZAWA's solution is good.

Colin


On Thu, Aug 21, 2014 at 7:08 AM, Ted Yu <yuzhih...@gmail.com> wrote:
> bq. else there is a memory leak
>
> Moving call of close() would prevent the leak.
>
> bq. but then this code snippet could be java and can be messy
>
> The code is in Java.
>
> Cheers
>
> On Wed, Aug 20, 2014 at 10:00 PM, vlab <thadd...@vlab.ca> wrote:
>
>> Unless you need 'out' later, have this statement.
>> FileWriter out(restartMeta);
>> then when exiting the try block, 'out' will go out of scope
>>
>> i assume this FileWriter that is create is delete'd else where
>> (else there is a memory leak).   {but then this code snippet could be java
>> and can be messy.}
>>
>>
>> On 8/20/2014 8:50 PM, Ted Yu (JIRA) wrote:
>>
>>> Ted Yu created HDFS-6902:
>>> ----------------------------
>>>
>>>               Summary: FileWriter should be closed in finally block in
>>> BlockReceiver#receiveBlock()
>>>                   Key: HDFS-6902
>>>                   URL: https://issues.apache.org/jira/browse/HDFS-6902
>>>               Project: Hadoop HDFS
>>>            Issue Type: Bug
>>>              Reporter: Ted Yu
>>>              Priority: Minor
>>>
>>>
>>> Here is code starting from line 828:
>>> {code}
>>>              try {
>>>                FileWriter out = new FileWriter(restartMeta);
>>>                // write out the current time.
>>>                out.write(Long.toString(Time.now() + restartBudget));
>>>                out.flush();
>>>                out.close();
>>>              } catch (IOException ioe) {
>>> {code}
>>> If write() or flush() call throws IOException, out wouldn't be closed.
>>>
>>>
>>>
>>> --
>>> This message was sent by Atlassian JIRA
>>> (v6.2#6252)
>>>
>>>
>>

Reply via email to