OK, so here is the thing...
I have been hitting my head for a week now. I have a Storage Extension in 2013 which fails at some point. I want to persist its message to Publish Popup. In Storage Extension I throw an exception, which is then picked up by com.tridion.deployer.phases.AbstractStorageStep.commitTransaction()
.
But if I open this method, I see that it completely ignores my message and just thows new ProcessingException
with message: "Unable to commit transactions" which is then shown in UI.
So here is my question: Are all storage exceptions swallowed? Can I in any form persist message from Storage Extension to UI, because if I take a look at the code, it doesn't to be the case. Does anyone know how is this handled in other extensions, for example, SI4T?
here is my stack trace from deployer log:
Commit failed for transaction: tcm:0-1788570-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:511) [na:1.8.0_212]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_212]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
Caused by: com.tridion.deployer.ProcessingException: Unable to commit transactions
at com.tridion.deployer.phases.AbstractStorageStep.commitTransaction(AbstractStorageStep.java:34) ~[cd_deployer.jar:na]
at com.tridion.deployer.phases.CommitPhase.execute(CommitPhase.java:77) ~[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.broker.StorageException: Commit failed for transaction tcm:0-1788570-66560 because of REASONS.
at com.tridion.storage.StorageManagerFactory.commitTransaction(StorageManagerFactory.java:358) ~[cd_datalayer.jar:na]
at com.tridion.deployer.phases.AbstractStorageStep.commitTransaction(AbstractStorageStep.java:32) ~[cd_deployer.jar:na]
... 11 common frames omitted
Caused by: com.amynamespace.exception.OperationFailedException: REASONS.
at com.tridion.storage.CmsApiDaoFactory.commitTransaction(CmsApiDaoFactory.java:100) ~[trid-netstorage-storage-extension.jar:na]
at com.tridion.storage.StorageManagerFactory.commitTransaction(StorageManagerFactory.java:354) ~[cd_datalayer.jar:na]
... 12 common frames omitted