[
https://issues.apache.org/jira/browse/DERBY-5730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13709601#comment-13709601
]
Knut Anders Hatlen commented on DERBY-5730:
-------------------------------------------
If this fix is backported, please make sure to backport DERBY-5753 as well to
avoid regression test failures.
> DataDictionaryImpl leaks references to itself via SYSFUN_AD
> -----------------------------------------------------------
>
> Key: DERBY-5730
> URL: https://issues.apache.org/jira/browse/DERBY-5730
> Project: Derby
> Issue Type: Bug
> Components: Services
> Affects Versions: 10.9.1.0
> Reporter: Knut Anders Hatlen
> Assignee: Knut Anders Hatlen
> Fix For: 10.9.1.0
>
> Attachments: d5730-1a.diff, DERBY5730_backport_patch1_diff.txt,
> Sysfun.java, SysfunPerftest.java
>
>
> DataDictionaryImpl contains a static field called SYSFUN_AD, which holds an
> array of AliasDescriptor objects for the functions in the SYSFUN schema. This
> array is lazily populated as the functions are called, and it is shared
> between all DataDictionaryImpl instances on the system.
> The AliasDescriptors contain references to the DataDictionaryImpl that
> created them, so SYSFUN_AD may end up referencing indirectly to a number of
> different DataDictionaryImpl instances, depending on where the respective
> SYSFUN functions are called the first time. Once an AliasDescriptor has been
> added to SYSFUN_AD, it stays there until the DataDictionaryImpl class is
> unloaded (in most cases, until the JVM terminates). This means the array may
> hold references to DataDictionaryImpl instances that belong to database
> instances that have been shut down, and that the memory held by those
> database instances never becomes eligible for garbage collection.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira