[ 
https://issues.apache.org/jira/browse/TOMEE-4120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17654149#comment-17654149
 ] 

Richard Zowalla commented on TOMEE-4120:
----------------------------------------

That is not a problem :-) - it can always be the first time to contribute, 
because that is the way open source works.

 A pull request on https://github.com/apache/tomee will likely attract more 
attention than a patch proposal in an Jira issue (and might evolve during the 
review process to "something better" or might not). Currently, most active 
committers are focused on EE10 work as we just got a 9.0 (jakarta) artifact for 
vote on the list, so it will probably take some time until someone will focus 
on this particular issue. We are also discussing doing a 8.0.14 release soon, 
so if we have some patch proposal, we might find time to include it.

The process for contribution is described here: 
https://tomee.apache.org/community/contributing/workflow.html

> Remote EJB2 BMP Memory Leak
> ---------------------------
>
>                 Key: TOMEE-4120
>                 URL: https://issues.apache.org/jira/browse/TOMEE-4120
>             Project: TomEE
>          Issue Type: Bug
>          Components: TomEE Core Server
>    Affects Versions: 8.0.13
>         Environment: I am using apache-tomee-plus-8.0.13 under windows 10 and 
> jdk 8.
>            Reporter: Thomas Lien
>            Priority: Critical
>         Attachments: mem1.png, mem2.png, mem3.png, memoryleak.png, 
> test.ear.zip, testjar-src.zip
>
>
> I'm seeing a significant memory leak when loading ejb2 bmps remotely. I've 
> found that any ejb2 bmp finder function has a leak on on the client side. The 
> problem eventually causes our client application to crash with an out of 
> memory error.
> Below is a simple main function I made to demonstrate. If I run this program 
> below using a single ejb2 findByPrimaryKey call, memory will grow rapidly. I 
> traced it down using the Eclipse Memory Profiler to the 
> org.apache.openejb.client.EJBInvocationHandler class retaining memory in a 
> ConcurrentHashMap field called liveHandleRegistry. I can see "BMPTestHome:1" 
> as the key and a HashSet of WeakReferences as values. Attaching screenshot of 
> the eclipse memory profiler which continues to grow the longer the program 
> runs (memoryleak.png).
> {code:java}
> package test;
> import javax.naming.InitialContext;
> public class LookupMemTest {
>       public static void main(String[] args) throws Exception {
>               System.setProperty("java.naming.factory.initial", 
> "org.apache.openejb.client.RemoteInitialContextFactory");
>               System.setProperty("java.naming.provider.url", 
> "http://127.0.0.1:8080/tomee/ejb";);
>               InitialContext ctx = new InitialContext();
>               BMPTestHome bmpTestHome = 
> (BMPTestHome)ctx.lookup("BMPTestHome");
>               while (!Thread.currentThread().isInterrupted()) {
>                       bmpTestHome.findByPrimaryKey(new BMPTestPK(1));
>                       Thread.sleep(5);
>               }
>       }
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to