ActiveCacheQueuedMessageExecutionError Transaction was deadlocked on lock
-
Saturday, 28 April 2012 3:54 PM
Hi,
I was saving my project plan and received the following exception. I have a backup from the previous night, how ever I accepted task updates before the save failed. We are running Project Server 2010 SP1 CU 02/12 and Project 2010 SP1 CU 02/12.
Thanks for any advice
John
ActiveCacheQueuedMessageExecutionError (12005). Details: id='12005' name='ActiveCacheQueuedMessageExecutionError' error='System.Data.SqlClient.SqlException: Transaction (Process ID 130) was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Microsoft.Office.Project.Server.DataAccessLayer.DAL.SubDal.ExecuteStoredProcedureNoResult(String storedProcedureName, SqlParameter[] parameters) at Microsoft.Office.Project.Server.DataAccessLayer.CustomFieldChangesBatch.DbFlush() at Microsoft.Office.Project.Server.DataAccessLayer.CustomFieldChangesBatch.AddChangeItem(CustomFieldValueChangeItem item) at Microsoft.Office.Project.Server.BusinessLayer.WinProjUtility.P12Deserializer.PrepareCustomFieldChangesForBatchUpdate(List`1 dbChanges) at Microsoft.Office.Project.Server.BusinessLayer.WinProjUtility.P12Deserializer.ReadCustomNonNullProps(P12ContainerHeader cntrHeader, Int32 rowEndOffset, CustomFieldValues cfValues, Dictionary`2 graphicalIndicators) at Microsoft.Office.Project.Server.BusinessLayer.WinProjUtility.P12Deserializer.ReadNextCustomFieldValuesRow(P12ContainerHeader cntrHeader, Int32 cntrDataEndOffset, CustomFieldValues cfValues) at Microsoft.Office.Project.Server.BusinessLayer.WinProjUtility.P12Deserializer.ProcessCustomFieldValuesContainerData(P12ContainerHeader cntrHeader, CustomFieldValues cfValues) at Microsoft.Office.Project.Server.BusinessLayer.WinProjUtility.CustomFieldValues.ProcessCustomFieldValues(Guid projGuid, String projName, DataStoreEnum store, Guid jobGuid, DateTime modDate, Int32 revRank, Int32 modRevCounter, Byte[] cntrBytes, ProjectType projectType, Guid sessionGuid, String sessionDescription, Boolean isNewProject, Guid projectOwnerGuid, Int16 dataFormatVersion, String winprojBuildNumber) at Microsoft.Office.Project.Server.BusinessLayer.WinProjUtility.WinProjSynchronousSaveProcessor.ProcessCustomFieldValuesContainer(Guid projGuid, String projName, DataStoreEnum store, Guid userGuid, Guid sessionGuid, String sessionDescription, Guid jobGuid, ProjectType projType, DateTime modDate, Int32 revRank, Int32 modRevCounter, Boolean isOverwriteSave, Boolean isNewProject, Guid projectOwnerGuid, Byte[] cntrBytes, Int16 dataFormatVersion, String winprojBuildNumber) at Microsoft.Office.Project.Server.BusinessLayer.WinProjUtility.WinProjQueueMessageDispatcher.DispatchMessage(ACMessage acMessage, Message msg, Group messageGroup, JobTicket jobTicket, MessageContext mContext)'.
Queue:
GeneralQueueJobFailed (26000) - ACProjectSave.Byte[]. Details: id='26000' name='GeneralQueueJobFailed' GroupType='ACProjectSave' MessageType='Byte[]' MessageId='414' Stage=''. For more details, check the ULS logs on machine for entries with JobUID .John
All Replies
-
Monday, 30 April 2012 12:44 AM
Hello John,
Deadlock errors are related to SQL Server most likely due to performance issue.
If you restart SQL server, most like you will be able to fix this issue
Later you may need to analyze SQL server performance.
Following article may provide you some insight on deadlock issue and Project server (concept still applies to 2010)
Hrishi Deshpande – DeltaBahn Senior Consultant
Blog | < | LinkedIn- Proposed As Answer by Amit Khare - Project Management Consultant Monday, 30 April 2012 8:55 AM
- Unproposed As Answer by John Doe Cal Monday, 30 April 2012 11:17 AM
-
Monday, 30 April 2012 11:21 AM
Hi,
if I understand it correctly a deadlock is rather the result of a code defect in Project/Project Server than a performance issue. Of corse high performance will reduce the probability of deadlocks.
I retried my job and ended into the error below. Why does that happen? As far as I understand Project syncs with the database and after that the save starts on the server side. So this should be retryable?
Thanks for any advice
John
General
ProjectHasNoWriteLock:
ProjectHasNoWriteLock (1042). Details: id='1042' name='ProjectHasNoWriteLock' .
Queue:
GeneralQueueJobFailed (26000) - ACProjectSave.Byte[]. Details: id='26000' name='GeneralQueueJobFailed' GroupType='ACProjectSave' MessageType='Byte[]' MessageId='414' Stage=''.John
-
Monday, 30 April 2012 11:36 AM
Hi John--
ProjectHasNoWriteLock (1042) error is something which I had seen with some of my clients espacially when a Project Manager opens the huge project in Read/write & due to N/w dropout or connections lost (Not sure the exact reason), during the save/publish operations, MS project cache is not sycn with server so it throws 'ActiveCacheQueuedMessageExecutionError'.
You can do a force checkin & to make sure all your projects are really checked in on the server, and delete your cache (from the folder on machine, not just the menu item in Pro) to ensure all is good when you load these new updates.Hope that helps.
Thanks, Amit Khare |EPM Consultant| Blog: http://amitkhare82.blogspot.com http://www.linkedin.com/in/amitkhare82