1

In our Tridion 2013 SP1 HR1 environment, when publishing out a Category we're getting a failure while the deployer is attempting to Commit the Deployment, and are seeing an error in the logs of:

ERROR DeployPipelineExecutor - Unable to start processing deployment package with >transactionId: tcm:0-103170-66560 com.tridion.deployer.ProcessingException: Phase: Deployment Prepare Commit Phase >failed. Unable to prepare transaction: tcm:0-103170-66560. Unable to store item >inside current transaction

Any ideas where this transaction setting could be that we could expand? It doesn't appear to be an environment timeout, as it can at times fail in as few as a couple of seconds.

If it helps, this is using a SQL Server instance to store the Category/Keywords, and we have already applied hotfix CD_2013.1.1.1419

Continued Error Stack here:

ERROR DeployPipelineExecutor - Unable to start processing deployment package with transactionId: tcm:0-103388-66560 com.tridion.deployer.

ProcessingException: Phase: Deployment Prepare Commit Phase failed.

Unable to prepare transaction: tcm:0-103388-66560. Unable to store item inside current transaction 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(Unknown Source) [na:1.7.0_71] at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.7.0_71] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_71] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_71] at java.lang.Thread.run(Unknown Source) [na:1.7.0_71]

Caused by: com.tridion.deployer.ProcessingException: Unable to prepare transaction: tcm:0-103388-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] ... 9 common frames omitted

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] ... 10 common frames omitted

2
  • In case the below hotfix as sugested by Hiren also does not work, share the storage type section of your cd_storage_config.xml - This issue might also occur in case the syntax of database storage type is incorrect Commented May 4, 2016 at 12:20
  • Is this just failing for publishing category? If so, then your deployer is setup correctly, and this issue could be caused by a corruption in the content or even a duplicate entry. Try deleting the record in the broker and publish again.
    – Robert Jin
    Commented May 6, 2016 at 0:53

2 Answers 2

2

Looking at the error it seems like database timeout issue where commit did not happen within time.

You have tagged your question with 2013, are you on 2013 or 2013 sp1 or 2013 sp1 hr1?

If you are 2013 sp1 hr1, there is one hotfix CD_2013.1.1.1419_tcm89-21665 that you should apply.

If you are on any other version other than 2013 sp1 hr1 then: Short term: you can work with DBA to perform profiling on broker database and check if any timeout is happening. Long term: upgrade to 2013 sp1 hr1 and apply the mentioned hotfix. If still issue persists then raise support ticket.

2
  • 1
    You can probably apply the hotfix much faster than having the DBA to profile, troubleshoot and perform an analysis. Hotfix should be the immediate fix rather than the long term fix. Additionally, you can also enable hibernate logging on the logback.xml to get more detailed error
    – Robert Jin
    Commented May 3, 2016 at 22:30
  • Updated description, we are using 2013 sp1 hr1, and have also applied the hotfix you mentioned.
    – GAG
    Commented May 4, 2016 at 12:33
2

Found the root of the problem, turned out to be due to the character limit on the keyword metadata in the Broker Database.

KEY_STRING_VALUE field in the CUSTOM_META table is defined as VARCHAR2 which has the 4000 byte restriction, and one of our keywords had an excessive amount of characters.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.