Has anyone come across occasional deadlock Issues when running MRP? Epicor can’t help much besides running the deadlock tracer 24/7 and collecting deadlocks like rain-water.
I want to know if this should be of any concern of it is normal to see this during a Verbose Logging - 2 Processors and 2 Threads MRP Run.
Doesn’t happen always; its occasional. .
Typical Errors:
-
An error occurred while reading from the store provider’s data reader.
-
Transaction (Process ID 275) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
Here is the MRP Typical Log:
Monday, July 3, 2017 11:57:53
11:57:53 MRP Regeneration process 1 begin - Ver wle-5-16-16 Run Date 7/3/2017 12:00:00 AM.
11:57:53 ------------------------------------------------------------
11:57:53 Cut Off Date -> 7/3/2027 12:00:00 AM
11:57:53 Schedule Start Date -> 7/3/2017 12:00:00 AM
11:57:53 Run Finite Scheduling -> True
11:57:53 Ignore Constrained Materials -> True
11:57:53 Allow Historical Dates -> False
11:57:53 Use Production Preparation Buffer -> False
11:57:53 Sort Level 0 MRP Jobs by Date -> False
11:57:53 Recycle MRP Jobs -> True
11:57:53 Site List -> 001000
11:57:53 ------------------------------------------------------------
11:57:53 Process Control Queue
11:57:53 Group -> Delete; Queue -> DeleteAllPO; Type -> Default; Finite -> False
11:57:53 Group -> Delete; Queue -> DeleteJob; Type -> Job; Finite -> False
11:57:53 Group -> Delete; Queue -> DeleteTO; Type -> TO; Finite -> False
11:57:53 Check List -> DeleteAllPO~DeleteJob~DeleteTO; Last Group -> False
11:57:53 Group -> Load; Queue -> SaveLoad; Type -> Job; Finite -> False
11:57:53 Check List -> SaveLoad; Last Group -> True
11:57:53 Group -> NonPart; Queue -> Part; Type -> Part; Finite -> False
11:57:53 Group -> NonPart; Queue -> LotJobSplit; Type -> Job; Finite -> False
11:57:53 Group -> NonPart; Queue -> SchedJobI; Type -> Job; Finite -> False
11:57:53 Group -> NonPart; Queue -> FirmJob; Type -> Job; Finite -> False
11:57:53 Check List -> FirmJob~LotJobSplit~Part~SchedJobF~SchedJobI; Last Group -> False
11:57:53 Group -> Part; Queue -> Part; Type -> Part; Finite -> False
11:57:53 Group -> Part; Queue -> LotJobSplit; Type -> Job; Finite -> False
11:57:53 Group -> Part; Queue -> SchedJobI; Type -> Job; Finite -> False
11:57:53 Group -> Part; Queue -> FirmJob; Type -> Job; Finite -> False
11:57:53 Check List -> FirmJob~LotJobSplit~Part~SchedJobF~SchedJobI; Last Group -> False
11:57:53 Group -> Quote; Queue -> QuotePart; Type -> Quote; Finite -> False
11:57:53 Check List -> QuotePart; Last Group -> False
11:57:53 Group -> Sched; Queue -> PreJobI; Type -> Job; Finite -> False
11:57:53 Check List -> PreJobF~PreJobI; Last Group -> False
11:57:53 Group -> Zero; Queue -> Part; Type -> Part; Finite -> False
11:57:53 Group -> Zero; Queue -> LotJobSplit; Type -> Job; Finite -> False
11:57:53 Check List -> LotJobSplit~Part; Last Group -> False
11:57:53 Group -> ZeroSort; Queue -> SchedJobI; Type -> Job; Finite -> False
11:57:53 Group -> ZeroSort; Queue -> FirmJob; Type -> Job; Finite -> False
11:57:53 Check List -> FirmJob~SchedJobF~SchedJobI~ZeroJob; Last Group -> False
11:57:53 ------------------------------------------------------------
11:57:53 Deleting unfirm jobs…
11:57:53 Deleting PO suggestion for Site 001000
11:57:55 Deleting unfirm job UEP00000000355
11:58:05 Deleting unfirm job UEP00000000460
11:58:12 Deleting unfirm job UEP00000000463
11:58:14 Deleting unfirm job UEP0000000046411:58:20 Deleting unfirm job UEP00000000468
11:58:21 Deleting unfirm job UEP00000000469
11:58:22 Deleting unfirm job UEP00000000473
11:58:22 Deleting unfirm job UEP00000000475
11:58:24 Deleting unfirm job UEP00000000477
11:58:25 Deleting unfirm job UEP00000000486
11:58:26 Deleting unfirm job UEP00000000489
11:58:26 Deleting unfirm job UEP00000000491
11:58:27 Deleting unfirm job UEP00000000494
11:58:28 Deleting unfirm job UEP00000000547
11:58:29 Deleting unfirm job UEP00000000549
11:58:30 Deleting unfirm job UEP00000000552
11:58:30 Done Deleting unfirm jobs.
11:58:32 Deleting unfirm job UEP00000000565
11:58:35 Deleting unfirm job UEP00000000571
11:58:35 Deleting unfirm job UEP00000000598
11:58:40 Deleting unfirm job UEP00000000603
11:58:47 Deleting unfirm job UEP0000000060711:58:51 Deleting unfirm job UEP00000000613
11:58:58 System.Data.EntityCommandExecutionException: An error occurred while reading from the store provider’s data reader. See the inner exception for details. —> System.Data.SqlClient.SqlException: Transaction (Process ID 275) was deadlocked on lock 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, Action1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryHasMoreRows(Boolean& moreRows) at System.Data.SqlClient.SqlDataReader.TryReadInternal(Boolean setTimeout, Boolean& more) at System.Data.SqlClient.SqlDataReader.Read() at System.Data.Common.Internal.Materialization.Shaper
1.StoreRead()
— End of inner exception stack trace —
at System.Data.Common.Internal.Materialization.Shaper1.StoreRead() at System.Data.Common.Internal.Materialization.Shaper
1.SimpleEnumerator.MoveNext()
at System.Collections.Generic.List1..ctor(IEnumerable
1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source) at Epicor.Data.DBExpressionCompiler.GetResult[TContext,TQuery,TResult](Func
3 executeQuery, Cache cacheSetting, TContext dataContext, TQuery query) in C:_Releases\ICE\3.1.500.18\Source\Framework\Epicor.System\Data\DBExpressionCompiler.cs:line 425
at Epicor.Data.DBExpressionCompiler.InvokeList[TContext,TQuery,TResult](Expression expression, Cache currentCacheSetting, Boolean cacheQuery, TContext dataContext, Func2 getDataCacheKey, Func
2 compileQuery, Func3 executeQuery) in C:\_Releases\ICE\3.1.500.18\Source\Framework\Epicor.System\Data\DBExpressionCompiler.cs:line 159 at Epicor.Data.DBExpressionCompiler.<>c__DisplayClass2_0
4.b__0(TContext context, TArg1 arg1, TArg2 arg2) in C:_Releases\ICE\3.1.500.18\Source\Framework\Epicor.System\Data\DBExpressionCompiler.Generated.cs:line 82
at Erp.Internal.MR.MrpExpCD.deleteUnfirmJob(Int64 instance_TaskNum, Int32 processNum, String logfile, Int32 loglevel, Boolean netchg, Boolean from_autopur, String IP_JobNum, String qText, Boolean recycleJobs, Boolean vForceDelete) in C:_Releases\ERP\UD10.1.500.18\Source\Server\Internal\MR\MrpExpCD\MrpExpCD.cs:line 8085
at Erp.Internal.MR.MrpExpCD.main_block(Int64 instance_TaskNum, Boolean netchg, String IP_plantList, Nullable1 cutoff_date, Boolean from_autopur, String logfile, Int32 loglevel, Boolean finiteLoad, Boolean ignoreConst, Boolean allowHistDate, Boolean usePrepTime, Boolean useKitTime, Boolean runPegging, Boolean runConPur, Nullable
1 Sched_startDate, String ShipViaDefault, String compBuyerID, Int32 ForeDaysB, Int32 ForeDaysA, String v_defaultSchedCode, String extComp, String PlantSelected, String plantprefixlist, String pReqType, Int32 processNum, String purDir, Boolean whatif, String procSource, Decimal GSStartTime, Boolean delaySched, Boolean recyclejobs, Boolean rcSchedGetDetails, Boolean includePCParts, Boolean useQuoteBOM, Boolean multiJob, Boolean multiJobIgnoreLocks, Boolean multiJobMinimizeWIP, Boolean regenlocal) in C:_Releases\ERP\UD10.1.500.18\Source\Server\Internal\MR\MrpExpCD\MrpExpCD.cs:line 16597
at Erp.Internal.MR.MrpExpCD.RunMrpExpCD(Int64 instance_TaskNum, Boolean netchg, String IP_plantList, Nullable1 cutoff_date, Boolean from_autopur, String logfile, Int32 loglevel, Boolean finiteLoad, Boolean ignoreConst, Boolean allowHistDate, Boolean usePrepTime, Boolean useKitTime, Boolean runPegging, Boolean runConPur, Nullable
1 Sched_startDate, String ShipViaDefault, String compBuyerID, Int32 ForeDaysB, Int32 ForeDaysA, String v_defaultSchedCode, String extComp, String PlantSelected, String plantprefixlist, String pReqType, Int32 processNum, String purDir, Boolean whatif, String procSource, Decimal GSStartTime, Boolean delaySched, Boolean recyclejobs, Boolean rcSchedGetDetails, String Wrk_FormatString, Boolean includePCParts, Boolean useQuoteBOM, Boolean multiJob, Boolean multiJobIgnoreLocks, Boolean multiJobMinimizeWIP, Boolean regenlocal) in C:_Releases\ERP\UD10.1.500.18\Source\Server\Internal\MR\MrpExpCD\MrpExpCD.cs:line 1923
at Erp.Internal.MR.MrpExpCD.RunSubProcess(List`1 Parameters) in C:_Releases\ERP\UD10.1.500.18\Source\Server\Internal\MR\MrpExpCD\MrpExpCD.cs:line 160111:58:58 at System.Data.Common.Internal.Materialization.Shaper
1.StoreRead() at System.Data.Common.Internal.Materialization.Shaper
1.SimpleEnumerator.MoveNext()
at System.Collections.Generic.List1..ctor(IEnumerable
1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source) at Epicor.Data.DBExpressionCompiler.GetResult[TContext,TQuery,TResult](Func
3 executeQuery, Cache cacheSetting, TContext dataContext, TQuery query) in C:_Releases\ICE\3.1.500.18\Source\Framework\Epicor.System\Data\DBExpressionCompiler.cs:line 425
at Epicor.Data.DBExpressionCompiler.InvokeList[TContext,TQuery,TResult](Expression expression, Cache currentCacheSetting, Boolean cacheQuery, TContext dataContext, Func2 getDataCacheKey, Func
2 compileQuery, Func3 executeQuery) in C:\_Releases\ICE\3.1.500.18\Source\Framework\Epicor.System\Data\DBExpressionCompiler.cs:line 159 at Epicor.Data.DBExpressionCompiler.<>c__DisplayClass2_0
4.b__0(TContext context, TArg1 arg1, TArg2 arg2) in C:_Releases\ICE\3.1.500.18\Source\Framework\Epicor.System\Data\DBExpressionCompiler.Generated.cs:line 82
at Erp.Internal.MR.MrpExpCD.deleteUnfirmJob(Int64 instance_TaskNum, Int32 processNum, String logfile, Int32 loglevel, Boolean netchg, Boolean from_autopur, String IP_JobNum, String qText, Boolean recycleJobs, Boolean vForceDelete) in C:_Releases\ERP\UD10.1.500.18\Source\Server\Internal\MR\MrpExpCD\MrpExpCD.cs:line 8085
at Erp.Internal.MR.MrpExpCD.main_block(Int64 instance_TaskNum, Boolean netchg, String IP_plantList, Nullable1 cutoff_date, Boolean from_autopur, String logfile, Int32 loglevel, Boolean finiteLoad, Boolean ignoreConst, Boolean allowHistDate, Boolean usePrepTime, Boolean useKitTime, Boolean runPegging, Boolean runConPur, Nullable
1 Sched_startDate, String ShipViaDefault, String compBuyerID, Int32 ForeDaysB, Int32 ForeDaysA, String v_defaultSchedCode, String extComp, String PlantSelected, String plantprefixlist, String pReqType, Int32 processNum, String purDir, Boolean whatif, String procSource, Decimal GSStartTime, Boolean delaySched, Boolean recyclejobs, Boolean rcSchedGetDetails, Boolean includePCParts, Boolean useQuoteBOM, Boolean multiJob, Boolean multiJobIgnoreLocks, Boolean multiJobMinimizeWIP, Boolean regenlocal) in C:_Releases\ERP\UD10.1.500.18\Source\Server\Internal\MR\MrpExpCD\MrpExpCD.cs:line 16597
at Erp.Internal.MR.MrpExpCD.RunMrpExpCD(Int64 instance_TaskNum, Boolean netchg, String IP_plantList, Nullable1 cutoff_date, Boolean from_autopur, String logfile, Int32 loglevel, Boolean finiteLoad, Boolean ignoreConst, Boolean allowHistDate, Boolean usePrepTime, Boolean useKitTime, Boolean runPegging, Boolean runConPur, Nullable
1 Sched_startDate, String ShipViaDefault, String compBuyerID, Int32 ForeDaysB, Int32 ForeDaysA, String v_defaultSchedCode, String extComp, String PlantSelected, String plantprefixlist, String pReqType, Int32 processNum, String purDir, Boolean whatif, String procSource, Decimal GSStartTime, Boolean delaySched, Boolean recyclejobs, Boolean rcSchedGetDetails, String Wrk_FormatString, Boolean includePCParts, Boolean useQuoteBOM, Boolean multiJob, Boolean multiJobIgnoreLocks, Boolean multiJobMinimizeWIP, Boolean regenlocal) in C:_Releases\ERP\UD10.1.500.18\Source\Server\Internal\MR\MrpExpCD\MrpExpCD.cs:line 1923
at Erp.Internal.MR.MrpExpCD.RunSubProcess(List`1 Parameters) in C:_Releases\ERP\UD10.1.500.18\Source\Server\Internal\MR\MrpExpCD\MrpExpCD.cs:line 160111:58:58 Transaction (Process ID 275) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
11:58:58 at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryHasMoreRows(Boolean& moreRows) at System.Data.SqlClient.SqlDataReader.TryReadInternal(Boolean setTimeout, Boolean& more) at System.Data.SqlClient.SqlDataReader.Read() at System.Data.Common.Internal.Materialization.Shaper
1.StoreRead()