4

I have a component with a set of component links inside it and these second level components in turn contains component links and so on. When I publish the primary component, it will try to publish all the dependencies beneath it. These dependencies will include both dynamic components and Multimedia components. Overall there are approx. 170 components[which includes 15 multimedia components] that gets published as part of primary component publishing activity.

The publishing is failing for above primary component at phase Committing Deployment. However I could see that all the dependencies are successfully published in broker database[Last published date is updated in ITEMS table, metadata is getting updated in CUSTOM_META table] and also multimedia binaries in relevant file system storage location. However the publish transaction is failing with some weird issue.

2015-01-23 07:23:42,946 WARN  PreCommiPhase - Unable to store item inside current transaction: Unable to persist data entity
2015-01-23 07:23:42,946 WARN  PreCommitPhase - Failed to Prepare: tcm:0-978299-66560 error: Unable to store item inside current transaction
2015-01-23 07:23:42,946 WARN  DeployPipelineExecutor - Phase: Deployment Prepare Commit Phase failure message: Unable to prepare transaction: tcm:0-978299-66560 for transaction: tcm:0-978299-66560
2015-01-23 07:23:42,946 DEBUG DeployPipelineExecutor - Failure in Phase: Deployment Prepare Commit Phase attempt: 11 for transaction: tcm:0-978299-66560
2015-01-23 07:23:42,946 ERROR DeployPipelineExecutor - Final attempt in Phase: Deployment Prepare Commit Phase failed for transaction: tcm:0-978299-66560
2015-01-23 07:23:43,764 ERROR DeployPipelineExecutor - Original stack trace for transaction: tcm:0-978299-66560
com.tridion.deployer.ProcessingException: Unable to prepare transaction: tcm:0-978299-66560
    at com.tridion.deployer.phases.PreCommitPhase.handleFailure(PreCommitPhase.java:131) ~[cd_deployer.jar:na]
    at com.tridion.deployer.phases.PreCommitPhase.execute(PreCommitPhase.java:109) ~[cd_deployer.jar:na]
    at com.tridion.deployer.phases.DeployPipelineExecutor.runMainExecutePhase(DeployPipelineExecutor.java:198) [cd_deployer.jar:na]
    at com.tridion.deployer.phases.DeployPipelineExecutor.doExecute(DeployPipelineExecutor.java:100) [cd_deployer.jar:na]
    at com.tridion.deployer.phases.DeployPipelineExecutor.execute(DeployPipelineExecutor.java:64) [cd_deployer.jar:na]
    at com.tridion.deployer.TransactionManager.handleDeployPackage(TransactionManager.java:82) [cd_deployer.jar:na]
    at com.tridion.deployer.queue.QueueLocationHandler$1.run(QueueLocationHandler.java:180) [cd_deployer.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) [na:1.6.0_25]
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [na:1.6.0_25]
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) [na:1.6.0_25]
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_25]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_25]
    at java.lang.Thread.run(Thread.java:662) [na:1.6.0_25]
Caused by: com.tridion.deployer.ProcessingException: Unable to store item inside current transaction
    at com.tridion.deployer.phases.PreCommitPhase.runPrepare(PreCommitPhase.java:161) ~[cd_deployer.jar:na]
    at com.tridion.deployer.phases.PreCommitPhase.execute(PreCommitPhase.java:101) ~[cd_deployer.jar:na]
    ... 11 common frames omitted
Caused by: com.tridion.broker.StorageException: Unable to persist data entity
    at com.tridion.storage.persistence.JPABaseDAO.create(JPABaseDAO.java:104) ~[cd_datalayer.jar:na]
    at com.tridion.storage.persistence.JPAItemDAO.store(JPAItemDAO.java:262) ~[cd_datalayer.jar:na]
    at com.tridion.storage.deploy.workers.ComponentWorker.doDeploy(ComponentWorker.java:46) ~[cd_datalayer.jar:na]
    at com.tridion.deployer.model.transaction.TransactionLogItemWorker.doWork(TransactionLogItemWorker.java:27) ~[cd_model.jar:na]
    at com.tridion.deployer.phases.PreCommitPhase.runPrepare(PreCommitPhase.java:155) ~[cd_deployer.jar:na]
    ... 12 common frames omitted
Caused by: javax.persistence.PersistenceException: org.hibernate.SessionException: Session is closed!
    at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1361) ~[hibernate-entitymanager.jar:4.0.1.Final]
    at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1289) ~[hibernate-entitymanager.jar:4.0.1.Final]
    at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1295) ~[hibernate-entitymanager.jar:4.0.1.Final]
    at org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:876) ~[hibernate-entitymanager.jar:4.0.1.Final]
    at sun.reflect.GeneratedMethodAccessor255.invoke(Unknown Source) ~[na:na]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_25]
    at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_25]
    at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:365) ~[spring-orm.jar:3.1.0.RELEASE]
    at $Proxy50.merge(Unknown Source) ~[na:na]
    at com.tridion.storage.persistence.JPABaseDAO.create(JPABaseDAO.java:77) ~[cd_datalayer.jar:na]
    ... 16 common frames omitted
Caused by: org.hibernate.SessionException: Session is closed!
    at org.hibernate.internal.AbstractSessionImpl.errorIfClosed(AbstractSessionImpl.java:126) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.internal.SessionImpl.getPersistenceContext(SessionImpl.java:1693) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.event.internal.DefaultMergeEventListener.cascadeOnMerge(DefaultMergeEventListener.java:635) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.event.internal.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:497) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:256) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:86) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:781) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:766) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:770) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:867) ~[hibernate-entitymanager.jar:4.0.1.Final]
    ... 22 common frames omitted
2015-01-23 07:23:43,764 INFO  TransactionPersistence - Removing deployment transaction information: tcm:0-978299-66560
2015-01-23 07:23:43,770 ERROR DeployPipelineExecutor - Unable to start processing deployment package with transactionId: tcm:0-978299-66560
com.tridion.deployer.ProcessingException: Phase: Deployment Prepare Commit Phase failed. 
Unable to prepare transaction: tcm:0-978299-66560
    at com.tridion.deployer.phases.DeployPipelineExecutor.runMainExecutePhase(DeployPipelineExecutor.java:209) [cd_deployer.jar:na]
    at com.tridion.deployer.phases.DeployPipelineExecutor.doExecute(DeployPipelineExecutor.java:100) [cd_deployer.jar:na]
    at com.tridion.deployer.phases.DeployPipelineExecutor.execute(DeployPipelineExecutor.java:64) [cd_deployer.jar:na]
    at com.tridion.deployer.TransactionManager.handleDeployPackage(TransactionManager.java:82) [cd_deployer.jar:na]
    at com.tridion.deployer.queue.QueueLocationHandler$1.run(QueueLocationHandler.java:180) [cd_deployer.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) [na:1.6.0_25]
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [na:1.6.0_25]
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) [na:1.6.0_25]
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_25]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_25]
    at java.lang.Thread.run(Thread.java:662) [na:1.6.0_25]
Caused by: com.tridion.deployer.ProcessingException: Unable to store item inside current transaction
    at com.tridion.deployer.phases.PreCommitPhase.runPrepare(PreCommitPhase.java:161) ~[cd_deployer.jar:na]
    at com.tridion.deployer.phases.PreCommitPhase.execute(PreCommitPhase.java:101) ~[cd_deployer.jar:na]
    at com.tridion.deployer.phases.DeployPipelineExecutor.runMainExecutePhase(DeployPipelineExecutor.java:198) [cd_deployer.jar:na]
    ... 10 common frames omitted
Caused by: com.tridion.broker.StorageException: Unable to persist data entity
    at com.tridion.storage.persistence.JPABaseDAO.create(JPABaseDAO.java:104) ~[cd_datalayer.jar:na]
    at com.tridion.storage.persistence.JPAItemDAO.store(JPAItemDAO.java:262) ~[cd_datalayer.jar:na]
    at com.tridion.storage.deploy.workers.ComponentWorker.doDeploy(ComponentWorker.java:46) ~[cd_datalayer.jar:na]
    at com.tridion.deployer.model.transaction.TransactionLogItemWorker.doWork(TransactionLogItemWorker.java:27) ~[cd_model.jar:na]
    at com.tridion.deployer.phases.PreCommitPhase.runPrepare(PreCommitPhase.java:155) ~[cd_deployer.jar:na]
    ... 12 common frames omitted
Caused by: javax.persistence.PersistenceException: org.hibernate.SessionException: Session is closed!
    at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1361) ~[hibernate-entitymanager.jar:4.0.1.Final]
    at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1289) ~[hibernate-entitymanager.jar:4.0.1.Final]
    at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1295) ~[hibernate-entitymanager.jar:4.0.1.Final]
    at org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:876) ~[hibernate-entitymanager.jar:4.0.1.Final]
    at sun.reflect.GeneratedMethodAccessor255.invoke(Unknown Source) ~[na:na]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_25]
    at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_25]
    at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:365) ~[spring-orm.jar:3.1.0.RELEASE]
    at $Proxy50.merge(Unknown Source) ~[na:na]
    at com.tridion.storage.persistence.JPABaseDAO.create(JPABaseDAO.java:77) ~[cd_datalayer.jar:na]
    ... 16 common frames omitted
Caused by: org.hibernate.SessionException: Session is closed!
    at org.hibernate.internal.AbstractSessionImpl.errorIfClosed(AbstractSessionImpl.java:126) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.internal.SessionImpl.getPersistenceContext(SessionImpl.java:1693) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.event.internal.DefaultMergeEventListener.cascadeOnMerge(DefaultMergeEventListener.java:635) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.event.internal.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:497) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:256) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:86) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:781) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:766) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:770) ~[hibernate-core.jar:4.0.1.Final]
    at org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:867) ~[hibernate-entitymanager.jar:4.0.1.Final]
    ... 22 common frames omitted
2015-01-23 07:23:43,787 DEBUG DeployPipelineExecutor - Checking if transaction is completed: tcm:0-978299-66560 is true
2015-01-23 07:23:43,787 INFO  DeployPipelineExecutor - Transaction is completed: tcm:0-978299-66560
2015-01-23 07:23:43,789 INFO  DeployPipelineExecutor - Finished executing deployment pipeline for: tcm:0-978299-66560 in 952952 ms.
2015-01-23 07:23:43,789 INFO  TransactionManager - Cleaning up Deployment package for transaction: tcm:0-978299-66560 and type: CONTENT
2015-01-23 07:23:43,789 DEBUG TransactionManager - The transport package has transaction control: COMMIT
2015-01-23 07:23:43,826 INFO  TransactionManager - Finished handling of Deployment package: tcm:0-978299-66560 with type: CONTENT
2015-01-23 07:23:43,826 DEBUG QueueLocationHandler - Removing from queue Deployment package: tcm:0-978299-66560 with type: CONTENT.
2015-01-23 07:23:43,826 DEBUG QueueLocationHandler - Removing exclusive lock on Deployment package: tcm:0-978299-66560 with type: CONTENT.
2015-01-23 07:23:43,827 DEBUG QueueLocationHandler - Removed exclusive lock on Deployment package: tcm:0-978299-66560 with type: CONTENT.
2015-01-23 07:23:45,629 DEBUG HTTPSReceiverServlet - transactionid parameter did not contain a TCM URI string: meta.xml processing as normal file request
2015-01-23 07:23:45,630 DEBUG HTTPSReceiverServlet - File found at /applications/tridion/deployer_webapp/incoming/meta.xml for meta.xml
2015-01-23 07:23:45,663 DEBUG HTTPSReceiverServlet - transactionid parameter did not contain a TCM URI string: tcm_0-978299-66560.state.xml processing as normal file request
2015-01-23 07:23:45,663 DEBUG HTTPSReceiverServlet - File found at /applications/tridion/deployer_webapp/incoming/tcm_0-978299-66560.state.xml for tcm_0-978299-66560.state.xml
2015-01-23 07:23:45,663 INFO  HTTPSReceiverServlet - Removed file at /applications/tridion/deployer_webapp/incoming/tcm_0-978299-66560.state.xml

The cd_transport_conf.xml contains polling interval of 30 minutes.

Could anyone help me in resolving this issue. Thanks in advance.

  • 1
  • No, The stack trace is slightly different here. The link which you have provided is showing stacktrace information as "This TransactionCoordinator has been closed" however in my question it shows "Unable to persist data entity" and "Session is closed". – user1035 Jan 26 '15 at 3:19
  • 1
    I'd have to agree with Nick, even though the stack traces slightly differ (which could be because of a difference in databases, Oracle or SQL Server?), I would expect this to be a timeout in the actions too, possibly related to the size of the transaction. In which case you really have to debug further on the database side. Can you edit the question and supply a bit more detail on what database you are using and if that is properly maintained? (try updating its stats and see if that solved the issue etc.) – Bart Koopman Jan 26 '15 at 9:07
  • I am also facing the same issue, I already tried all the options suggested: like database maintenance, pagefile size increase however the problem is not yet resolved. Can you please suggest what should be done? I am on SQL 2012. – Hiren Kaku Nov 13 '15 at 19:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.