You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Sam Pullara (JIRA)" <ji...@apache.org> on 2007/12/01 20:10:43 UTC

[jira] Commented: (PIG-40) Memory management in BigDataBag is probably wrong

    [ https://issues.apache.org/jira/browse/PIG-40?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12547501 ] 

Sam Pullara commented on PIG-40:
--------------------------------

I'm not sure that its true that there isn't a better way to do it.  I'm investigating using this mechanism to get what you are looking for:

http://java.sun.com/javase/6/docs/api/java/lang/management/MemoryPoolMXBean.html


> Memory management in BigDataBag is probably wrong
> -------------------------------------------------
>
>                 Key: PIG-40
>                 URL: https://issues.apache.org/jira/browse/PIG-40
>             Project: Pig
>          Issue Type: Bug
>          Components: impl
>            Reporter: Sam Pullara
>
> src/org/apache/pig/data/BigDataBag.java
> 1) You should not use finalizers for things other than external resources -- using them here is very dangerous and could inadvertantly lead to deadlocks and object resurrection and just decreases performance without any advantage.
> 2) Using .freeMemory() the way it is used in this class is broken.  freeMemory() is going to return a mostly random number between 0 and the real amount.  Adding gc() in here is a terrible performance burden.  If you really want to do something like this you should using softreferences and finalization queues.

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