You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Jürgen Schumacher (JIRA)" <ji...@apache.org> on 2008/10/20 17:17:44 UTC

[jira] Created: (ODE-395) MessageExchangeDAOs of in-memory processes are kept in memory despite release()

MessageExchangeDAOs of in-memory processes are kept in memory despite release()
-------------------------------------------------------------------------------

                 Key: ODE-395
                 URL: https://issues.apache.org/jira/browse/ODE-395
             Project: ODE
          Issue Type: Bug
          Components: BPEL Runtime
    Affects Versions: 1.3
            Reporter: Jürgen Schumacher


We have experienced a high memory consumption by ODE in scenarios where in-memory processes are invoked with a relatively high frequency. This is caused by the org.apache.ode.bpel.memdao.BpelDAOConnectionImpl which keeps the created instances of MessageExchangeDAOImpl in memory until they exceed the TIME_TO_LIVE (hardcoded constant). This way we have around 400 of these unneeded (at least for us ;-) objects hanging in memory occupying around 30 MB of memory all the time.

I've created a patch that removes the MessageExchangeDAO objects from the in-memory BpelDAOConnection as soon as the invoker of the process calls release() on its MyRoleMessageExchange object. It's probably too simplistic, but in my test cases it works without a problem.


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


[jira] Updated: (ODE-395) MessageExchangeDAOs of in-memory processes are kept in memory despite release()

Posted by "Jürgen Schumacher (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-395?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jürgen Schumacher updated ODE-395:
----------------------------------

    Attachment: inmemory-mexdao-release.patch

Extends BpelDAOConnection with a releaseMessageExchange(String mexId) method that is called by MessageExchangeImpl via ODEProcess in the release method. This releaseMessageExchange method is implemented only in the memdao implementation of the interface, the jpa and hibernate methods do nothing.

> MessageExchangeDAOs of in-memory processes are kept in memory despite release()
> -------------------------------------------------------------------------------
>
>                 Key: ODE-395
>                 URL: https://issues.apache.org/jira/browse/ODE-395
>             Project: ODE
>          Issue Type: Bug
>          Components: BPEL Runtime
>    Affects Versions: 1.3
>            Reporter: Jürgen Schumacher
>         Attachments: inmemory-mexdao-release.patch
>
>
> We have experienced a high memory consumption by ODE in scenarios where in-memory processes are invoked with a relatively high frequency. This is caused by the org.apache.ode.bpel.memdao.BpelDAOConnectionImpl which keeps the created instances of MessageExchangeDAOImpl in memory until they exceed the TIME_TO_LIVE (hardcoded constant). This way we have around 400 of these unneeded (at least for us ;-) objects hanging in memory occupying around 30 MB of memory all the time.
> I've created a patch that removes the MessageExchangeDAO objects from the in-memory BpelDAOConnection as soon as the invoker of the process calls release() on its MyRoleMessageExchange object. It's probably too simplistic, but in my test cases it works without a problem.

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


[jira] Resolved: (ODE-395) MessageExchangeDAOs of in-memory processes are kept in memory despite release()

Posted by "Matthieu Riou (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-395?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matthieu Riou resolved ODE-395.
-------------------------------

       Resolution: Fixed
    Fix Version/s: 1.3
         Assignee: Matthieu Riou

The patch actually looked good. Thanks a lot for contributing it. I've just applied it on the trunk.

> MessageExchangeDAOs of in-memory processes are kept in memory despite release()
> -------------------------------------------------------------------------------
>
>                 Key: ODE-395
>                 URL: https://issues.apache.org/jira/browse/ODE-395
>             Project: ODE
>          Issue Type: Bug
>          Components: BPEL Runtime
>    Affects Versions: 1.3
>            Reporter: Jürgen Schumacher
>            Assignee: Matthieu Riou
>             Fix For: 1.3
>
>         Attachments: inmemory-mexdao-release.patch
>
>
> We have experienced a high memory consumption by ODE in scenarios where in-memory processes are invoked with a relatively high frequency. This is caused by the org.apache.ode.bpel.memdao.BpelDAOConnectionImpl which keeps the created instances of MessageExchangeDAOImpl in memory until they exceed the TIME_TO_LIVE (hardcoded constant). This way we have around 400 of these unneeded (at least for us ;-) objects hanging in memory occupying around 30 MB of memory all the time.
> I've created a patch that removes the MessageExchangeDAO objects from the in-memory BpelDAOConnection as soon as the invoker of the process calls release() on its MyRoleMessageExchange object. It's probably too simplistic, but in my test cases it works without a problem.

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