[ 
https://issues.apache.org/jira/browse/HADOOP-6207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12746108#action_12746108
 ] 

Brian Bockelman commented on HADOOP-6207:
-----------------------------------------

(Note: I have patches, but I can't figure out where libhdfs has gone after the 
project split!)

Here are the leaks I found so far:
hdfsJniHelper.c: constructNewArrayString -> reference to newly created string 
is not released after it has been added to array.  This leads to leaks when the 
array is destroyed, as all strings have reference count of at least one.
hdfs.c: hdfsOpen -> reference to jAttrString is never destroyed, resulting in 
leak
fuse-dfs.c: When a file is closed, the reference to the file system object is 
not destroyed.

The first one is the most critical - in FUSE, a string for each group the user 
is in is created per file open.  This results in many hundreds of bytes leaking 
per file open.

I was able to detect these by running FUSE with a heap size of 4MB, then 
opening and closing files until I got OOM exceptions.

> libhdfs leaks object references
> -------------------------------
>
>                 Key: HADOOP-6207
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6207
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs
>            Reporter: Brian Bockelman
>
> libhdfs leaks many objects during normal operation.  This becomes exacerbated 
> by long-running processes (such as FUSE-DFS).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to