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

Fix Ehcache /unified cache initialization

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.8
    • Fix Version/s: 5.8.0-HF06, 5.9.2
    • Component/s: Core VCS

      Description

      When Nuxeo is configured to use Ehcache, these errors are reported at startuo

      ERROR [Nuxeo-Work-audit-1] [org.apache.geronimo.connector.outbound.MCFConnectionInterceptor] Error occurred creating ManagedConnection for handle: nullManagedConnectionInfo: org.apache.geronimo.connector.outbound.ManagedConnectionInfo@480c4cb6. mc: null]
      org.nuxeo.ecm.core.storage.StorageException: java.lang.IllegalArgumentException: A metric named org.nuxeo.ecm.core.storage.sql.UnifiedCachingRowMapper.cache-size already exists
              at org.nuxeo.ecm.core.storage.sql.RepositoryImpl.createCachingMapper(RepositoryImpl.java:293)
              at org.nuxeo.ecm.core.storage.sql.RepositoryImpl.newSession(RepositoryImpl.java:502)
              at org.nuxeo.ecm.core.storage.sql.RepositoryImpl.getConnection(RepositoryImpl.java:459)
              at org.nuxeo.ecm.core.storage.sql.ra.ManagedConnectionFactoryImpl.getConnection(ManagedConnectionFactoryImpl.java:336)
              at org.nuxeo.ecm.core.storage.sql.ra.ManagedConnectionImpl.<init>(ManagedConnectionImpl.java:104)
              at org.nuxeo.ecm.core.storage.sql.ra.ManagedConnectionFactoryImpl.createManagedConnection(ManagedConnectionFactoryImpl.java:192)
              at org.apache.geronimo.connector.outbound.MCFConnectionInterceptor.getConnection(MCFConnectionInterceptor.java:49)
              at org.apache.geronimo.connector.outbound.XAResourceInsertionInterceptor.getConnection(XAResourceInsertionInterceptor.java:41)
              at org.apache.geronimo.connector.outbound.SinglePoolMatchAllConnectionInterceptor.internalGetConnection(SinglePoolMatchAllConnectionInterceptor.java:88)
              at org.apache.geronimo.connector.outbound.AbstractSinglePoolConnectionInterceptor.getConnection(AbstractSinglePoolConnectionInterceptor.java:80)
              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:49)
              at org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.getConnection(TransactionCachingInterceptor.java:101)
              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:77)
              at org.nuxeo.runtime.jtajca.NuxeoContainer$ConnectionManagerWrapper.allocateConnection(NuxeoContainer.java:801)
              at org.nuxeo.ecm.core.storage.sql.ra.ConnectionFactoryImpl.getConnection(ConnectionFactoryImpl.java:131)
              at org.nuxeo.ecm.core.storage.sql.ra.ConnectionFactoryImpl.getSession(ConnectionFactoryImpl.java:213)
              at org.nuxeo.ecm.core.api.local.LocalSession.createSession(LocalSession.java:103)
              at org.nuxeo.ecm.core.api.local.LocalSession.getSession(LocalSession.java:170)
              at org.nuxeo.ecm.core.api.AbstractSession.connect(AbstractSession.java:253)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:601)
              at org.nuxeo.ecm.core.api.TransactionalCoreSessionWrapper.invoke(TransactionalCoreSessionWrapper.java:136)
              at $Proxy101.connect(Unknown Source)
            at org.nuxeo.ecm.core.api.repository.Repository.open(Repository.java:155)
              at org.nuxeo.ecm.core.api.repository.Repository.open(Repository.java:113)
              at org.nuxeo.ecm.core.event.impl.ReconnectedEventBundleImpl.getReconnectedCoreSession(ReconnectedEventBundleImpl.java:100)
              at org.nuxeo.ecm.core.event.impl.ReconnectedEventBundleImpl.getReconnectedEvents(ReconnectedEventBundleImpl.java:123)
              at org.nuxeo.ecm.core.event.impl.ReconnectedEventBundleImpl.iterator(ReconnectedEventBundleImpl.java:244)
              at org.nuxeo.ecm.platform.audit.service.NXAuditEventsService.logEvents(NXAuditEventsService.java:758)
              at org.nuxeo.ecm.platform.audit.service.NXAuditEventsService$16.runWith(NXAuditEventsService.java:738)
              at org.nuxeo.ecm.core.persistence.PersistenceProvider.run(PersistenceProvider.java:189)
              at org.nuxeo.ecm.platform.audit.service.NXAuditEventsService.logEvents(NXAuditEventsService.java:736)
              at org.nuxeo.ecm.platform.audit.listener.AuditEventLogger.handleEvent(AuditEventLogger.java:56)
              at org.nuxeo.ecm.core.event.impl.AsyncEventExecutor$ListenerWork.work(AsyncEventExecutor.java:157)
              at org.nuxeo.ecm.core.work.WorkHolder.run(WorkHolder.java:65)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
              at java.lang.Thread.run(Thread.java:722)
      Caused by: java.lang.IllegalArgumentException: A metric named org.nuxeo.ecm.core.storage.sql.UnifiedCachingRowMapper.cache-size already exists
              at com.codahale.metrics.MetricRegistry.register(MetricRegistry.java:89)
              at org.nuxeo.ecm.core.storage.sql.UnifiedCachingRowMapper.<init>(UnifiedCachingRowMapper.java:140)
              at org.nuxeo.ecm.core.storage.sql.UnifiedCachingMapper.<init>(UnifiedCachingMapper.java:35)
              at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
              at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
              at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
              at java.lang.Class.newInstance0(Class.java:372)
              at java.lang.Class.newInstance(Class.java:325)
              at org.nuxeo.ecm.core.storage.sql.RepositoryImpl.createCachingMapper(RepositoryImpl.java:287)
              ... 45 more
      

      what makes Ehcache does not work.

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: