You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Gert Vanthienen (JIRA)" <ji...@apache.org> on 2009/01/12 10:18:59 UTC

[jira] Created: (SM-1761) AutoDeployment stops working after x deployments

AutoDeployment stops working after x deployments
------------------------------------------------

                 Key: SM-1761
                 URL: https://issues.apache.org/activemq/browse/SM-1761
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-core
    Affects Versions: 3.2.3
            Reporter: Gert Vanthienen
            Assignee: Gert Vanthienen
             Fix For: 3.3.1, 3.2.4


After a few component redeployments, the AutoDeploymentService stops working.  Looking at the thread stack traces, we find:

{noformat}
Timer-3 [WAITING] CPU time: 4:21
java.lang.Object.wait()
org.apache.commons.pool.impl.GenericObjectPool.borrowObject()
org.apache.activemq.pool.SessionPool.borrowSession()
org.apache.activemq.pool.ConnectionPool.createSession(boolean, int)
org.apache.activemq.pool.PooledConnection.createSession(boolean, int)
org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow.onComponentStarted(ComponentEvent)
org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow$2.componentStarted(ComponentEvent)
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.fireEvent(int)
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.doStart()
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.start()
org.apache.servicemix.jbi.framework.InstallationService.install(File, Properties, Descriptor, boolean)
org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingComponents()
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateSharedLibrary(AutoDeploymentService$ArchiveEntry, File, Descriptor)
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(String, AutoDeploymentService$ArchiveEntry, boolean)
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(File, Map)
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService, File, Map)
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run()
java.util.TimerThread.run()
{noformat}

Looking at hte AbstractJMSFlow, it appears that we create and destroy MessageConsumer instances, but never close the matching Session.  That's probably the reason that we eventually run out of pooled sessions as shown in the stack trace.

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


[jira] Resolved: (SM-1761) AutoDeployment stops working after x deployments

Posted by "Gert Vanthienen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SM-1761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gert Vanthienen resolved SM-1761.
---------------------------------

    Resolution: Fixed

Fixed in:
- http://svn.eu.apache.org/viewvc?view=rev&revision=733672 for 3.2 branch
- http://svn.eu.apache.org/viewvc?view=rev&revision=733681 for trunk

> AutoDeployment stops working after x deployments
> ------------------------------------------------
>
>                 Key: SM-1761
>                 URL: https://issues.apache.org/activemq/browse/SM-1761
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-core
>    Affects Versions: 3.2.3
>            Reporter: Gert Vanthienen
>            Assignee: Gert Vanthienen
>             Fix For: 3.3.1, 3.2.4
>
>
> After a few component redeployments, the AutoDeploymentService stops working.  Looking at the thread stack traces, we find:
> {noformat}
> Timer-3 [WAITING] CPU time: 4:21
> java.lang.Object.wait()
> org.apache.commons.pool.impl.GenericObjectPool.borrowObject()
> org.apache.activemq.pool.SessionPool.borrowSession()
> org.apache.activemq.pool.ConnectionPool.createSession(boolean, int)
> org.apache.activemq.pool.PooledConnection.createSession(boolean, int)
> org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow.onComponentStarted(ComponentEvent)
> org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow$2.componentStarted(ComponentEvent)
> org.apache.servicemix.jbi.framework.ComponentMBeanImpl.fireEvent(int)
> org.apache.servicemix.jbi.framework.ComponentMBeanImpl.doStart()
> org.apache.servicemix.jbi.framework.ComponentMBeanImpl.start()
> org.apache.servicemix.jbi.framework.InstallationService.install(File, Properties, Descriptor, boolean)
> org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingComponents()
> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateSharedLibrary(AutoDeploymentService$ArchiveEntry, File, Descriptor)
> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(String, AutoDeploymentService$ArchiveEntry, boolean)
> org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(File, Map)
> org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService, File, Map)
> org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run()
> java.util.TimerThread.run()
> {noformat}
> Looking at hte AbstractJMSFlow, it appears that we create and destroy MessageConsumer instances, but never close the matching Session.  That's probably the reason that we eventually run out of pooled sessions as shown in the stack trace.

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