FIX: Parallel Query May Encounter Undetected Deadlock with Itself (315662)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions) 8.0

This article was previously published under Q315662
BUG #: 356315 (SHILOH_BUGS)

SYMPTOMS

A query that runs with parallelism enabled may experience an undetected deadlock with itself and never complete. However, a system server process ID (SPID) in this state will respond to a query timeout, or to the Transact-SQL KILL command.

RESOLUTION

To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 INF: How To Obtain the Latest SQL Server 2000 Service Pack

NOTE: The following hotfix was created before the release of Microsoft SQL Server 2000 Service Pack 3.

The English version of this fix should have the following file attributes or later:
   Version       File name
   ---------------------------

   8.00.0558     Sqlservr.exe
				
NOTE: Because of file dependencies, the most recent hotfix or feature that contains the files may also contain additional files.


STATUS

Microsoft has confirmed that this is a problem in Microsoft SQL Server 2000.
This problem was first corrected in Microsoft SQL Server 2000 Service Pack 3.

MORE INFORMATION

After you apply the fix, SQL Server detects the deadlock and returns an error message (8650):

Msg 8650:
Intra-query parallelism caused your server command (process ID #50) to deadlock. Rerun the query without intra-query parallelism by using the query hint option (maxdop 1).
When this problem occurs, you must resubmit the query and use an OPTION (MAXDOP 1) hint, or you can disable parallelism for the server. If your application dynamically generates the queries, the application error handler can handle this error similar to a typical deadlock and automatically resubmit the query with the option hint.

Modification Type:MinorLast Reviewed:9/27/2005
Keywords:kbHotfixServer kbQFE kbSQLServ2000sp3fix kbbug kbfix kbSQLServ2000preSP3fix KB315662