You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by "Supun Kamburugamuva (JIRA)" <ji...@apache.org> on 2010/10/17 18:59:22 UTC
[jira] Created: (SYNAPSE-701) Remove the finalize method of the
TemporaryData.java in commons module of synapse
Remove the finalize method of the TemporaryData.java in commons module of synapse
---------------------------------------------------------------------------------
Key: SYNAPSE-701
URL: https://issues.apache.org/jira/browse/SYNAPSE-701
Project: Synapse
Issue Type: Bug
Reporter: Supun Kamburugamuva
A finalize method can cause delayed garbage collection as well as it doesn't guarantee a clean. This can lead to potential Out of Memory errors if these classes are used very frequently. Also this method is redundant because this object has a explicit release method. So I suggest we remove this redundant method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org
[jira] Assigned: (SYNAPSE-701) Remove the finalize method of the
TemporaryData.java in commons module of synapse
Posted by "Supun Kamburugamuva (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SYNAPSE-701?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Supun Kamburugamuva reassigned SYNAPSE-701:
-------------------------------------------
Assignee: Supun Kamburugamuva
> Remove the finalize method of the TemporaryData.java in commons module of synapse
> ---------------------------------------------------------------------------------
>
> Key: SYNAPSE-701
> URL: https://issues.apache.org/jira/browse/SYNAPSE-701
> Project: Synapse
> Issue Type: Bug
> Reporter: Supun Kamburugamuva
> Assignee: Supun Kamburugamuva
>
> A finalize method can cause delayed garbage collection as well as it doesn't guarantee a clean. This can lead to potential Out of Memory errors if these classes are used very frequently. Also this method is redundant because this object has a explicit release method. So I suggest we remove this redundant method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org
[jira] Commented: (SYNAPSE-701) Remove the finalize method of the
TemporaryData.java in commons module of synapse
Posted by "Andreas Veithen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SYNAPSE-701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12922016#action_12922016 ]
Andreas Veithen commented on SYNAPSE-701:
-----------------------------------------
See SYNAPSE-212 for some background information.
The TemporaryData class (which by the way is obsoleted by a class called OverflowBlob that is now part of Axiom) is not directly affected by this flaw. However, the flaw has as consequence that it is not always possible to call the release method. The only way to mitigate that problem is to use a finalizer.
Note that I don't see why the finalizer could lead to an OOM condition. However, usage of deleteOnExit may cause problems if the JVM keeps references to the File object even if the file has been deleted.
> Remove the finalize method of the TemporaryData.java in commons module of synapse
> ---------------------------------------------------------------------------------
>
> Key: SYNAPSE-701
> URL: https://issues.apache.org/jira/browse/SYNAPSE-701
> Project: Synapse
> Issue Type: Bug
> Reporter: Supun Kamburugamuva
> Assignee: Supun Kamburugamuva
>
> A finalize method can cause delayed garbage collection as well as it doesn't guarantee a clean. This can lead to potential Out of Memory errors if these classes are used very frequently. Also this method is redundant because this object has a explicit release method. So I suggest we remove this redundant method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org
[jira] Commented: (SYNAPSE-701) Remove the finalize method of the
TemporaryData.java in commons module of synapse
Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SYNAPSE-701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12921935#action_12921935 ]
Hiranya Jayathilaka commented on SYNAPSE-701:
---------------------------------------------
Andreas,
Under what circumstances these files may not get cleaned up? Can we fix those instances to properly remove the temp files by calling the release method?
> Remove the finalize method of the TemporaryData.java in commons module of synapse
> ---------------------------------------------------------------------------------
>
> Key: SYNAPSE-701
> URL: https://issues.apache.org/jira/browse/SYNAPSE-701
> Project: Synapse
> Issue Type: Bug
> Reporter: Supun Kamburugamuva
> Assignee: Supun Kamburugamuva
>
> A finalize method can cause delayed garbage collection as well as it doesn't guarantee a clean. This can lead to potential Out of Memory errors if these classes are used very frequently. Also this method is redundant because this object has a explicit release method. So I suggest we remove this redundant method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org
[jira] Commented: (SYNAPSE-701) Remove the finalize method of the
TemporaryData.java in commons module of synapse
Posted by "Andreas Veithen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SYNAPSE-701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12921874#action_12921874 ]
Andreas Veithen commented on SYNAPSE-701:
-----------------------------------------
The method is not redundant because there is no way to guarantee that the release method is ever called. This issue is caused by an architectural flaw in Axis2 [1]. By removing this method, you will create a resource leak that may cause a disk full error.
[1] http://veithen.blogspot.com/2009/10/inside-axis2-and-axiom-can-somebody.html
> Remove the finalize method of the TemporaryData.java in commons module of synapse
> ---------------------------------------------------------------------------------
>
> Key: SYNAPSE-701
> URL: https://issues.apache.org/jira/browse/SYNAPSE-701
> Project: Synapse
> Issue Type: Bug
> Reporter: Supun Kamburugamuva
> Assignee: Supun Kamburugamuva
>
> A finalize method can cause delayed garbage collection as well as it doesn't guarantee a clean. This can lead to potential Out of Memory errors if these classes are used very frequently. Also this method is redundant because this object has a explicit release method. So I suggest we remove this redundant method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org
[jira] Issue Comment Edited: (SYNAPSE-701) Remove the finalize
method of the TemporaryData.java in commons module of synapse
Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SYNAPSE-701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12921935#action_12921935 ]
Hiranya Jayathilaka edited comment on SYNAPSE-701 at 10/17/10 9:18 PM:
-----------------------------------------------------------------------
Andreas,
Under what circumstances these files may not get cleaned up? I don't think the Synapse TemporaryData class is affected by the Axis2 architecture flaw you have described in the blog post. This class is a pretty independent implementation which resides in Synapse. So can't we fix Synapse to properly remove the temp files by calling the release method in TemporaryData class?
was (Author: hiranya):
Andreas,
Under what circumstances these files may not get cleaned up? Can we fix those instances to properly remove the temp files by calling the release method?
> Remove the finalize method of the TemporaryData.java in commons module of synapse
> ---------------------------------------------------------------------------------
>
> Key: SYNAPSE-701
> URL: https://issues.apache.org/jira/browse/SYNAPSE-701
> Project: Synapse
> Issue Type: Bug
> Reporter: Supun Kamburugamuva
> Assignee: Supun Kamburugamuva
>
> A finalize method can cause delayed garbage collection as well as it doesn't guarantee a clean. This can lead to potential Out of Memory errors if these classes are used very frequently. Also this method is redundant because this object has a explicit release method. So I suggest we remove this redundant method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org