ServiceMix
  1. ServiceMix
  2. SM-1761

AutoDeployment stops working after x deployments

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.2.3
    • Fix Version/s: 3.2.4, 3.3.1
    • Component/s: servicemix-core
    • Labels:
      None

      Description

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

      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()
      

      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.

        Activity

        Gert Vanthienen created issue -
        Show
        Gert Vanthienen added a comment - 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
        Gert Vanthienen made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Jeff Turner made changes -
        Project Import Sat Nov 27 00:46:19 EST 2010 [ 1290836779991 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        1h 32m 1 Gert Vanthienen 12/Jan/09 10:51

          People

          • Assignee:
            Gert Vanthienen
            Reporter:
            Gert Vanthienen
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development