cancel
Showing results for 
Search instead for 
Did you mean: 

About deadlocks

Former Member
0 Kudos

Hi all,

I am running idm 7.2 sp5 and i was wondering if any of you could tell me where i can find in the database if any deadlock happened.

Basically, we had a go live last weekend and some of our assignments didn't go through and marked as still pending or failed for some. For some cases i am able to understand what happened but not for all so that's why i want to find out if any process has been deadlocked. I know that there printed as warnings but i don't have a clue where to find them except going through all my joblogs manually.

Thanks a lot,

Clotilde

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

We have had extensive problems with deadlocks at my current customer.  Here are a few suggestions.

-  Deadlocks can typically be found in the system log as semaphore errors.  So if you have semaphore errors, you have a deadlocking problem.

-  Try executing sp_who2 on SQL server, which will show you the active processes on the database.  Look for something that's been executing for a while.  To see the query by running

dbcc inputbuffer(<process_id>), replacing <process_id> with the process # from sp_who2. 

If you need to kill the deadlock, use the command

kill <process_id>

- If you have multiple dispatchers, one way to drastically improve deadlocks is to have only 1 dispatcher evaluating relations.  The mxi_link table seems to be where most of the deadlocks occurr, so having only 1 dispatcher handle the relations is a great way to reduce them.

former_member2987
Active Contributor
0 Kudos

Chris,

Good point on the dispatchers.  Also make sure that there's only one dispatcher per host to help prevent deadlocks.

Matt

Former Member
0 Kudos

Thank you Chris (and Matt).

We retried our workflows and i found this in the system log : "MxDispatcher - EVAL LINKS  - Interrupted due to invalid semaphore", this is the error message you were speaking about right?

Is there any retries when this kind of error happens or is the data simply lost?

If i kill the deadlock, will it choose a "victim" or will it just go into failed state? Since it is a production system it is difficult for me to clean/kill processes without knowing everything that is going on.

I am going to change my dispatcher's configuration and let you know if that did the trick.

Clotilde

former_member2987
Active Contributor
0 Kudos

Clotilde,

That sounds about right.  IDM is designed to roll back the transaction in question to the state it was in at the beginning of the workflow if it is stopped or cancelled for any reason, including dispatcher issues.

Matt

former_member2987
Active Contributor
0 Kudos

Yes, Deadlocks are definitely a problem in and around IDM.  You might want to start by looking at these items:

http://idm-thoughtplace.blogspot.com/2012_01_01_archive.html

Note 1638513

Note 1656720

Note 1543226

Hopefully these will help you out.