Hello Stephen, > The short answer is "it's whichever one detected the deadlock." The > deadlock timeout fires after a lock has been held that long and if a > deadlock is detected then the process detecting it will be canceled.
ok, and long answer ? is it random? > I'd strongly recommend reviewing your application and addressing > deadlocks by changing how the application acquires locks to be > consistent and to avoid lock escalation instead of worrying about how to > predict a deadlock- a properly designed and written application > shouldn't be causing deadlocks to happen in the first place. I didn't want to predict the deadlock happening. I only want to know if it is predictable to know which transaction will be canceled. Thank you 2018-04-09 15:51 GMT+02:00 Stephen Frost <sfr...@snowman.net>: > Greetings, > > * Thomas Poty (thomas.p...@gmail.com) wrote: > > My question is : In case of a deadlock between 2 transaction, how to > know > > which transaction will be canceled? Is it predictable? > > The short answer is "it's whichever one detected the deadlock." The > deadlock timeout fires after a lock has been held that long and if a > deadlock is detected then the process detecting it will be canceled. > > I'd strongly recommend reviewing your application and addressing > deadlocks by changing how the application acquires locks to be > consistent and to avoid lock escalation instead of worrying about how to > predict a deadlock- a properly designed and written application > shouldn't be causing deadlocks to happen in the first place. > > Thanks! > > Stephen >