What is a resourceWait within a deadlock trace?

  • Trying to get to the bottom of a deadlock i've been having, i've slightly reworked the procedure which removes a deadlock between a non-clustered index and primary key on a table.

    Running this in a load test (using visual studio 2008 database unit tests / load test framework) it was previously reporting 28 failures due to deadlocks in a run of 265 tests.

    Following the rework this reduces down to 2 failures from a total of 776 tests, however these failures have slightly different wording.

    Before:

    System.Data.SqlClient.SqlException: Transaction (Process ID 73) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction..

    After:

    System.Data.SqlClient.SqlException: Transaction (Process ID 74) was deadlocked on lock | generic waitable object resources with another process and has been chosen as the deadlock victim. Rerun the transaction..

    From the SQL log I can see the following:

    resource-list

    keylock hobtid=72057596855517184 dbid=12 objectname=XXX.dbo.XXXXX indexname=XXXXXXXXXXXXXXXXXX id=lockb8a42c0 mode=X associatedObjectId=72057596855517184

    owner-list

    owner id=process8da898 mode=X

    waiter-list

    waiter id=process9691f8 mode=S requestType=wait

    resourceWait

    owner-list

    owner id=process9691f8

    waiter-list

    waiter id=process8da898

    What is this resourceWait resource lock thingymabob precisely?

    Cheers

Viewing post 1 (of 1 total)

You must be logged in to reply to this topic. Login to reply