5

When I'm publishing a small amount of pages in my Tridion 2011 SP1 dev environment, I do not have any problem, but when I start publishing around 15 pages simultaneously, I receive the following error. Any thoughts what the issue can be? I already checked my statistics, but that wasn't the issue. Am I running into a deadlock?

The operation is not valid for the state of the transaction.
Transaction Timeout


Component: Tridion.ContentManager.CoreService
Errorcode: 0
User: NT AUTHORITY\NETWORK SERVICE

StackTrace Information Details:
   at System.Transactions.TransactionState.EnlistPromotableSinglePhase(InternalTransaction tx, IPromotableSinglePhaseNotification promotableSinglePhaseNotification, Transaction atomicTransaction)
   at System.Transactions.Transaction.EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification promotableSinglePhaseNotification)
   at System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx)
   at System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction)
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.Open()
   at Tridion.ContentManager.Data.AdoNet.Sql.SqlDatabaseUtilities.GetConnection()
   at Tridion.ContentManager.Data.AdoNet.Sql.SqlDatabaseUtilities.GetStoredProcedureCommand(StoredProcedureInvocation storedProcedureInvocation)
   at Tridion.ContentManager.Data.AdoNet.Sql.SqlDatabaseUtilities.Execute(StoredProcedureInvocation storedProcedureInvocation)
   at Tridion.ContentManager.Data.AdoNet.IdentifiableObjectDataMapper.Read(TcmUri id, StoredProcedureInvocation spInvocation)
   at Tridion.ContentManager.Data.AdoNet.IdentifiableObjectDataMapper.Tridion.ContentManager.Data.IIdentifiableObjectDataMapper.Read(TcmUri id)
   at Tridion.ContentManager.Session.GetDataObject(TcmUri id)
   at Tridion.ContentManager.IdentifiableObject.Load(LoadFlags flags, Boolean forceReload)
   at Tridion.ContentManager.Publishing.PublishEngine.InternalCreatePublishTransactions(IEnumerable`1 items, PublishInstructionBase instruction, IEnumerable`1 targets, Nullable`1 priority)
   at Tridion.ContentManager.Publishing.PublishEngine.CreatePublishTransactions(IEnumerable`1 items, PublishInstructionBase instruction, IEnumerable`1 targets, Nullable`1 priority)
   at Tridion.ContentManager.Publishing.PublishEngine.Publish(IEnumerable`1 items, PublishInstruction publishInstruction, IEnumerable`1 targetTypes)
   at Tridion.ContentManager.CoreService.CoreServiceBase.Publish(IEnumerable`1 ids, PublishInstructionData publishInstruction, IEnumerable`1 targets, Nullable`1 priority, ReadOptions readOptions)
   at SyncInvokePublish(Object , Object[] , Object[] )
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
   at Tridion.ContentManager.CoreService.TransactionSupportInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
4
  • Are your templates heavy in that they take upwards of a minute to resolve the layout of the page? I think if you posted some details about the content of the publishing / template code that would help get a suitable answer.
    – johnwinter
    Commented Jun 4, 2013 at 21:20
  • templates are DD4T (v1.25) with linklevel 2. The component schemas are not that complex.
    – Niels V
    Commented Jun 4, 2013 at 21:29
  • Could the issue be related to the number of template render threads you have on the CM box?
    – johnwinter
    Commented Jun 4, 2013 at 21:31
  • 1
    There are a couple of Hotfixes related to publishing timeouts & deadlocks, especially when containing Taxonomy. Are you up to date with Hotfixes? Can you increase the logging level and look at the log files? Commented Jun 4, 2013 at 21:41

3 Answers 3

4

I had a similar issue recently, and it turned out to be memory usage of my SQL server 2012 and Windows 2012 and Tridion 2013 "all-in-one-box". Upping the RAM from 2 to 3 GB "fixed" it - at least I didn't get any errors anymore.

I'd recommend that you look into how much memory you're using and how publishing impacts that usage.

4

We are up to date with hotfixes. The issue is now resolved. We did three things, not sure which one solved it (from most likely to unlikely):

  1. Removed a non-reachable server from the queue-consumers table by setting is_online to 0
  2. Increased the database timeout for core services from 30 to 60 seconds
  3. Rebooted the server
1

Apply the SDL Tridion SP1 Hotfix Rollup # 2.

Alternatively, specific to your error, apply following hotfixes at least and then retry:

  • CD_2011.1.1.84879 - Cumulative hotfix
  • CD_2011.1.1.84845 - Cumulative hotfix
  • CD_2011.1.1.83467 - Cumulative hotfix

These are available at the SDL Tridion World Site (require login)

Hopefully, this should resolve your issue.

NOTE:

In any case, you must already have SDL Tridion 2011 SP1 Hotfix Rollup # 1 applied on your server.

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.