Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-6371

Repository connections leak

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 5.4.0.1
    • Fix Version/s: 5.4.1
    • Component/s: None

      Description

      I'm seing this on two different instances:

      • a DM 5.4.01 + DAM 1.2 on shared repository (no leak on the DAM instance)
      • a DM 5.4.0.1 with some studio plugins added

      In the repository statistics, the number of open connections to the repository slowly creeps up until the application becomes unavailable.

      The corresponding stack trace is the folowing:

      Error while openning core session on repo default
      org.nuxeo.ecm.core.api.ClientException: Failed to load repository default
      at org.nuxeo.ecm.core.api.local.LocalSession.createSession(LocalSession.java:102)
      at org.nuxeo.ecm.core.api.local.LocalSession.getSession(LocalSession.java:162)
      at org.nuxeo.ecm.core.api.AbstractSession.connect(AbstractSession.java:202)
      at sun.reflect.GeneratedMethodAccessor88.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.nuxeo.ecm.core.api.TransactionalCoreSessionWrapper.invoke(TransactionalCoreSessionWrapper.java:98)
      at $Proxy25.connect(Unknown Source)
      at org.nuxeo.ecm.core.api.repository.Repository.open(Repository.java:160)
      at org.nuxeo.ecm.core.api.repository.Repository.open(Repository.java:118)
      at org.nuxeo.ecm.core.event.impl.ReconnectedEventBundleImpl.getReconnectedCoreSession(ReconnectedEventBundleImpl.java:96)
      at org.nuxeo.ecm.core.event.impl.ReconnectedEventBundleImpl.getReconnectedEvents(ReconnectedEventBundleImpl.java:119)
      at org.nuxeo.ecm.core.event.impl.ReconnectedEventBundleImpl.iterator(ReconnectedEventBundleImpl.java:210)
      at org.nuxeo.ecm.core.storage.sql.coremodel.BinaryTextListener.handleEvent(BinaryTextListener.java:85)
      at org.nuxeo.ecm.core.event.impl.AsyncEventExecutor$Job.run(AsyncEventExecutor.java:153)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: org.nuxeo.ecm.core.api.WrappedException: Exception: org.nuxeo.ecm.core.api.DocumentException. message: org.nuxeo.ecm.core.storage.StorageException: javax.resource.ResourceException: No ManagedConnections available within configured blocking timeout ( 100 [ms] ) for pool org.apache.geronimo.connector.outbound.SinglePoolMatchAllConnectionInterceptor@149f72b
      at org.nuxeo.ecm.core.storage.sql.ra.ConnectionFactoryImpl.getSession(ConnectionFactoryImpl.java:241)
      at org.nuxeo.ecm.core.api.local.LocalSession.createSession(LocalSession.java:100)
      ... 17 more
      Caused by: org.nuxeo.ecm.core.api.WrappedException: Exception: org.nuxeo.ecm.core.storage.StorageException. message: javax.resource.ResourceException: No ManagedConnections available within configured blocking timeout ( 100 [ms] ) for pool org.apache.geronimo.connector.outbound.SinglePoolMatchAllConnectionInterceptor@149f72b
      at org.nuxeo.ecm.core.storage.sql.ra.ConnectionFactoryImpl.getConnection(ConnectionFactoryImpl.java:169)
      at org.nuxeo.ecm.core.storage.sql.ra.ConnectionFactoryImpl.getSession(ConnectionFactoryImpl.java:239)
      ... 18 more
      Caused by: org.nuxeo.ecm.core.api.WrappedException: Exception: javax.resource.ResourceException. message: No ManagedConnections available within configured blocking timeout ( 100 [ms] ) for pool org.apache.geronimo.connector.outbound.SinglePoolMatchAllConnectionInterceptor@149f72b
      at org.apache.geronimo.connector.outbound.AbstractSinglePoolConnectionInterceptor.getConnection(AbstractSinglePoolConnectionInterceptor.java:86)
      at org.apache.geronimo.connector.outbound.MultiPoolConnectionInterceptor.getConnection(MultiPoolConnectionInterceptor.java:81)
      at org.apache.geronimo.connector.outbound.ThreadLocalCachingConnectionInterceptor.getConnection(ThreadLocalCachingConnectionInterceptor.java:70)
      at org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.getConnection(TransactionEnlistingInterceptor.java:46)
      at org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.getConnection(TransactionCachingInterceptor.java:95)
      at org.apache.geronimo.connector.outbound.SubjectInterceptor.getConnection(SubjectInterceptor.java:58)
      at org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.getConnection(ConnectionHandleInterceptor.java:43)
      at org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection(TCCLInterceptor.java:39)
      at org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.getConnection(ConnectionTrackingInterceptor.java:66)
      at org.apache.geronimo.connector.outbound.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:87)
      at org.nuxeo.runtime.jtajca.NuxeoContainer$ConnectionManagerWrapper.allocateConnection(NuxeoContainer.java:191)
      at org.nuxeo.ecm.core.storage.sql.ra.ConnectionFactoryImpl.getConnection(ConnectionFactoryImpl.java:164)
      ... 19 more

        Attachments

        1. check.py
          0.5 kB
          Florent Guillaume

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: