Intra-Query Parallel Thread Deadlocks

  • I've been getting a lot of deadlocks on a reporting server and have enabled the deadlock trace flags 1222 and 1204. Looking at the output to the errorlog I'm having trouble working out what the problem is. The output it gives me

    Log Viewer could not read information for this log entry. Cause: Data is Null. This method or property cannot be called on Null values.. Content:

    and the nodes involved are below and are all showing the same spid. Wondered if it could be related to parallel queries. any ideas?

    http://blogs.msdn.com/b/bartd/archive/2008/09/24/today-s-annoyingly-unwieldy-term-intra-query-parallel-thread-deadlocks.aspx

    Port: 0x0000000196A75A50 Xid Slot: 4, Wait Slot: 1, Task: 0x00000000050C5708, (Producer), Exchange Wait Type: e_waitPipeNewRow, Merging: 1

    ResType:ExchangeId Stype:'AND' SPID:90 BatchID:0 ECID:9 TaskProxy:(0x00000002D11C9930) Value:0x50c5708 Cost:(20/0)

    SPID: 90 ECID: 9 Statement Type: SELECT INTO Line #: 173

    Port: 0x00000006188D1100 Xid Slot: 4, Wait Slot: 0, Task: 0x00000000050C5948, (Producer), Exchange Wait Type: e_waitPipeNewRow, Merging: 1

    ResType:ExchangeId Stype:'AND' SPID:90 BatchID:0 ECID:13 TaskProxy:(0x00000002D11C9AB0) Value:0x50c5948 Cost:(20/0)

    SPID: 90 ECID: 13 Statement Type: SELECT INTO Line #: 173

    Port: 0x00000006188D1200 Xid Slot: 2, Wait Slot: -1, Task: 0x0000000005178508, (Consumer), Exchange Wait Type: e_waitPipeGetRow, Merging: 0

    ResType:ExchangeId Stype:'AND' SPID:90 BatchID:0 ECID:11 TaskProxy:(0x00000002D11C99F0) Value:0x5178508 Cost:(0/10000)

    SPID: 90 ECID: 11 Statement Type: SELECT INTO Line #: 173

    Port: 0x00000002911D0E80 Xid Slot: 1, Wait Slot: 6, Task: 0x000000000522C748, (Consumer), Exchange Wait Type: e_waitPipeGetRow, Merging: 0

    ResType:ExchangeId Stype:'AND' SPID:90 BatchID:0 ECID:6 TaskProxy:(0x00000002D11C97B0) Value:0x522c748 Cost:(0/10000)

    SPID: 90 ECID: 6 Statement Type: SELECT INTO Line #: 173

    Thanks

  • Please can you disable traceflag 1204, wait until you have another deadlock and post the entire deadlock graph.

    You have parallelism there, but I can't tell from that snippet if it's intra-query paralellism or just a deadlock involving queries that were running in parallel

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • turned off, just waiting for a deadlock 🙂

  • Please post your SQL Server Edition and build number too, for future reference:

    SELECT SERVERPROPERTY('Edition') AS Edition,

    SERVERPROPERTY('ProductVersion') AS ProductVersion,

    SERVERPROPERTY('ProductLevel') AS ProductLevel;

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato

Viewing 4 posts - 1 through 3 (of 3 total)

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