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

Postgresql Errors appears in the logs once an Aspera Transfer is completed

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 11.x
    • Component/s: Aspera Connector
    • Tags:
    • Sprint:
      nxApps 2021 Cycle 1, nxApps 2021 Cycle 2, nxApps 2021 Cycle 3, nxApps 2021 Cycle 4

      Description

      When using Aspera 11.X (nuxeo-aspera-package-4.0.0*.zip) under Nuxeo 11.3.56 and we try to complete a given transfer no matter if it's a manual one or auto. We get a postgresql Exception

      Steps to reproduce:

      • install the 11.3.56 Nuxeo Server
      • install the needed addons; nuxeo-web-ui-3.0.2-rc.22 amazon-s3-online-storage-11.3.56 and of cours Aspera addon for example the version nnuxeo-aspera-core-4.0.0-rc.6
      • add the needed configuration on nuxeo.conf like adding Aspera Node, AWS S3...
      • enable the postgresql template and add the right configuration on nuxeo.conf
      • start the server, ensure that there is no errors in server.log
      • create a manual transfer, upload content, once done. complete the transfer you will get the error below;
      2020-11-04T15:15:58,734 WARN  [bulk/scrollerPool-01] [org.apache.commons.dbcp2.BasicDataSource] An internal object pool swallowed an Exception.
      org.postgresql.util.PSQLException: Cannot rollback when autoCommit is enabled.
      	at org.postgresql.jdbc.PgConnection.rollback(PgConnection.java:867) ~[postgresql-42.2.9.jar:42.2.9]
      	at org.apache.commons.dbcp2.DelegatingConnection.rollback(DelegatingConnection.java:484) ~[commons-dbcp2-2.7.0.jar:2.7.0]
      	at org.apache.commons.dbcp2.PoolableConnectionFactory.passivateObject(PoolableConnectionFactory.java:424) ~[commons-dbcp2-2.7.0.jar:2.7.0]
      	at org.apache.commons.pool2.impl.GenericObjectPool.returnObject(GenericObjectPool.java:555) ~[commons-pool2-2.8.0.jar:2.8.0]
      	at org.apache.commons.dbcp2.PoolableConnection.close(PoolableConnection.java:200) ~[commons-dbcp2-2.7.0.jar:2.7.0]
      	at org.apache.commons.dbcp2.DelegatingConnection.closeInternal(DelegatingConnection.java:238) ~[commons-dbcp2-2.7.0.jar:2.7.0]
      	at org.apache.commons.dbcp2.DelegatingConnection.close(DelegatingConnection.java:209) ~[commons-dbcp2-2.7.0.jar:2.7.0]
      	at org.apache.commons.dbcp2.managed.ManagedConnection.close(ManagedConnection.java:111) ~[commons-dbcp2-2.7.0.jar:2.7.0]
      	at org.nuxeo.ecm.core.storage.sql.jdbc.JDBCConnection.closeConnection(JDBCConnection.java:152) ~[nuxeo-core-storage-sql-11.3.56.jar:?]
      	at org.nuxeo.ecm.core.storage.sql.jdbc.JDBCMapper.close(JDBCMapper.java:111) ~[nuxeo-core-storage-sql-11.3.56.jar:?]
      	at org.nuxeo.ecm.core.storage.sql.SoftRefCachingMapper.close(SoftRefCachingMapper.java:73) ~[nuxeo-core-storage-sql-11.3.56.jar:?]
      	at org.nuxeo.ecm.core.storage.sql.SessionImpl.closeSession(SessionImpl.java:197) ~[nuxeo-core-storage-sql-11.3.56.jar:?]
      	at org.nuxeo.ecm.core.storage.sql.SessionImpl.close(SessionImpl.java:188) ~[nuxeo-core-storage-sql-11.3.56.jar:?]
      	at org.nuxeo.ecm.core.storage.sql.coremodel.SQLSession.destroy(SQLSession.java:122) ~[nuxeo-core-storage-sql-11.3.56.jar:?]
      	at org.nuxeo.ecm.core.repository.RepositoryService$SessionFactory.destroyObject(RepositoryService.java:398) ~[nuxeo-core-11.3.56.jar:?]
      	at org.nuxeo.ecm.core.repository.RepositoryService$SessionFactory.destroyObject(RepositoryService.java:380) ~[nuxeo-core-11.3.56.jar:?]
      	at org.apache.commons.pool2.impl.GenericKeyedObjectPool.destroy(GenericKeyedObjectPool.java:1104) ~[commons-pool2-2.8.0.jar:2.8.0]
      	at org.apache.commons.pool2.impl.GenericKeyedObjectPool.invalidateObject(GenericKeyedObjectPool.java:572) ~[commons-pool2-2.8.0.jar:2.8.0]
      	at org.apache.commons.pool2.PoolUtils$ErodingKeyedObjectPool.invalidateObject(PoolUtils.java:1682) ~[commons-pool2-2.8.0.jar:2.8.0]
      	at org.nuxeo.ecm.core.repository.RepositoryService$SessionSynchronization.afterCompletion(RepositoryService.java:365) ~[nuxeo-core-11.3.56.jar:?]
      	at org.apache.geronimo.transaction.manager.TransactionImpl.afterCompletion(TransactionImpl.java:559) ~[geronimo-transaction-3.1.4.jar:3.1.4]
      	at org.apache.geronimo.transaction.manager.TransactionImpl.afterCompletion(TransactionImpl.java:552) ~[geronimo-transaction-3.1.4.jar:3.1.4]
      	at org.apache.geronimo.transaction.manager.TransactionImpl.rollback(TransactionImpl.java:503) ~[geronimo-transaction-3.1.4.jar:3.1.4]
      	at org.apache.geronimo.transaction.manager.TransactionManagerImpl.rollback(TransactionManagerImpl.java:265) ~[geronimo-transaction-3.1.4.jar:3.1.4]
      	at org.nuxeo.runtime.jtajca.NuxeoContainer$UserTransactionImpl.rollback(NuxeoContainer.java:440) ~[nuxeo-runtime-jtajca-11.3.56.jar:?]
      	at org.nuxeo.runtime.transaction.TransactionHelper.commitOrRollbackTransaction(TransactionHelper.java:408) ~[nuxeo-runtime-jtajca-11.3.56.jar:?]
      	at org.nuxeo.ecm.core.bulk.computation.BulkScrollerComputation.processRecord(BulkScrollerComputation.java:137) ~[nuxeo-core-bulk-11.3.56.jar:?]
      	at org.nuxeo.lib.stream.computation.log.ComputationRunner.lambda$processRecordWithRetry$10(ComputationRunner.java:466) ~[nuxeo-stream-11.3.56.jar:?]
      	at net.jodah.failsafe.Functions$10.call(Functions.java:252) [failsafe-1.1.0.jar:1.1.0]
      	at net.jodah.failsafe.SyncFailsafe.call(SyncFailsafe.java:145) [failsafe-1.1.0.jar:1.1.0]
      	at net.jodah.failsafe.SyncFailsafe.run(SyncFailsafe.java:81) [failsafe-1.1.0.jar:1.1.0]
      	at org.nuxeo.lib.stream.computation.log.ComputationRunner.processRecordWithRetry(ComputationRunner.java:466) [nuxeo-stream-11.3.56.jar:?]
      	at org.nuxeo.lib.stream.computation.log.ComputationRunner.processRecordWithTracing(ComputationRunner.java:418) [nuxeo-stream-11.3.56.jar:?]
      	at org.nuxeo.lib.stream.computation.log.ComputationRunner.processRecord(ComputationRunner.java:409) [nuxeo-stream-11.3.56.jar:?]
      	at org.nuxeo.lib.stream.computation.log.ComputationRunner.processLoop(ComputationRunner.java:272) [nuxeo-stream-11.3.56.jar:?]
      	at org.nuxeo.lib.stream.computation.log.ComputationRunner.run(ComputationRunner.java:206) [nuxeo-stream-11.3.56.jar:?]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
      	at java.lang.Thread.run(Thread.java:834) [?:?]
      
      

      It seems that the errors happened once the Aspera worker are done, and the Nuxeo document of the upload content using Aspera are also created, there is some async stuff that start the computation of bulk and we get the error. This the reason why the file are correctly created but the errors appears in the logs

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                saouana Salem Aouana
                Participants:
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: