Memory leak in BPEL SE

3 messages Options
Embed this post
Permalink
Anatoliy Medvedchuk

Memory leak in BPEL SE

Reply Threaded More More options
Print post
Permalink
Hi all,

I have composite application with logic based on BPEL SE. There are a number of bpel processes. Each process uses JMS BC to receive messages from some queue and reply to other JMS queue (so all processes implement request-reply logic). From other side bpel processes can invoke some web service regarding to condition. This composite appication processes 300000 messages per day.

All works fine until there is no exceptions occured inside bpel process. When such error occurs (the reason - wrong message inserted to queue) than JMS BC does not receive reply and message still stay in queue for further processing after some delay.
In my concrete example there was three bad messages in one JMS queue that was in retry approximately 11 hours. During this time used heap memory increased from 300M to 1400M. After deletion wrong messages from queue memory growing was stopped  but no memory decreasing after GC. Than heap was created.

After analising hap dump for memory leaks with Eclipse Memory Analyzer Version 0.8 (http://www.eclipse.org/mat/) I found that one instance of com.sun.jbi.engine.bpel.core.bpel.engine.impl.EngineImpl has occuped 75% of memory.

So I restart BPEL SE and memory was released after first GC.

Enviroment:

     BPEL SE version 2.7.0 build-number="090818".
     Sun GlassFish Enterprise Server v2.1 (9.1.1) (build b60e-fcs)
     Java 1.6

I attached Leak suspect report (HTML format).




heap_Leak_Suspects.zip



Gabe-2

Re: Memory leak in BPEL SE

Reply Threaded More More options
Print post
Permalink
Anatoliy - Thanks for reporting this. Would you also happen to have a
sample project that we can use to reproduce the leak?
Gabe

Anatoliy Medvedchuk wrote:

> Hi all,
>
> I have composite application with logic based on BPEL SE. There are a number
> of bpel processes. Each process uses JMS BC to receive messages from some
> queue and reply to other JMS queue (so all processes implement request-reply
> logic). From other side bpel processes can invoke some web service regarding
> to condition. This composite appication processes 300000 messages per day.
>
> All works fine until there is no exceptions occured inside bpel process.
> When such error occurs (the reason - wrong message inserted to queue) than
> JMS BC does not receive reply and message still stay in queue for further
> processing after some delay.
> In my concrete example there was three bad messages in one JMS queue that
> was in retry approximately 11 hours. During this time used heap memory
> increased from 300M to 1400M. After deletion wrong messages from queue
> memory growing was stopped  but no memory decreasing after GC. Than heap was
> created.
>
> After analising hap dump for memory leaks with Eclipse Memory Analyzer
> Version 0.8 (http://www.eclipse.org/mat/) I found that one instance of
> com.sun.jbi.engine.bpel.core.bpel.engine.impl.EngineImpl has occuped 75% of
> memory.
>
> So I restart BPEL SE and memory was released after first GC.
>
> Enviroment:
>
>      BPEL SE version 2.7.0 build-number="090818".
>      Sun GlassFish Enterprise Server v2.1 (9.1.1) (build b60e-fcs)
>      Java 1.6
>
> I attached Leak suspect report (HTML format).
>
>
>
>
> http://n2.nabble.com/file/n3951489/heap_Leak_Suspects.zip
> heap_Leak_Suspects.zip
>
>
>
>
>  

--
Gabriel Badescu
Open ESB Community (http://open-esb.org)  



---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Anatoliy Medvedchuk

Re: Memory leak in BPEL SE

Reply Threaded More More options
Print post
Permalink
Hi,

Yes, I have the test project. It is in attachment.

Thank you.

testBpelLeak.rar

Gabe-2 wrote:
Anatoliy - Thanks for reporting this. Would you also happen to have a
sample project that we can use to reproduce the leak?
Gabe

Anatoliy Medvedchuk wrote:
> Hi all,
>
> I have composite application with logic based on BPEL SE. There are a number
> of bpel processes. Each process uses JMS BC to receive messages from some
> queue and reply to other JMS queue (so all processes implement request-reply
> logic). From other side bpel processes can invoke some web service regarding
> to condition. This composite appication processes 300000 messages per day.
>
> All works fine until there is no exceptions occured inside bpel process.
> When such error occurs (the reason - wrong message inserted to queue) than
> JMS BC does not receive reply and message still stay in queue for further
> processing after some delay.
> In my concrete example there was three bad messages in one JMS queue that
> was in retry approximately 11 hours. During this time used heap memory
> increased from 300M to 1400M. After deletion wrong messages from queue
> memory growing was stopped  but no memory decreasing after GC. Than heap was
> created.
>
> After analising hap dump for memory leaks with Eclipse Memory Analyzer
> Version 0.8 (http://www.eclipse.org/mat/) I found that one instance of
> com.sun.jbi.engine.bpel.core.bpel.engine.impl.EngineImpl has occuped 75% of
> memory.
>
> So I restart BPEL SE and memory was released after first GC.
>
> Enviroment:
>
>      BPEL SE version 2.7.0 build-number="090818".
>      Sun GlassFish Enterprise Server v2.1 (9.1.1) (build b60e-fcs)
>      Java 1.6
>
> I attached Leak suspect report (HTML format).
>
>
>
>
> http://n2.nabble.com/file/n3951489/heap_Leak_Suspects.zip
> heap_Leak_Suspects.zip
>
>
>
>
>  

--
Gabriel Badescu
Open ESB Community (http://open-esb.org)  



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@open-esb.dev.java.net
For additional commands, e-mail: users-help@open-esb.dev.java.net