What is causing waittype CXSYNC_PORT and what to do about it?

Veelen van, Klaas 11 Reputation points
2020-08-12T11:02:51.197+00:00

Hi,

I'm running a query against Azure SQLDb which 'stands still' for 2 hours now, apparently not doing anything. No CPU-usage (from anyone), no DataIO, no LogIO. sys.dm_exec_requests tells me my query is suspended with wait type CXSYNC_PORT. What can be the reason and what to do about it? Never seen this before, no hits on google (except for anyone else asking the same questions some 12 hrs ago).

Regards,
Klaas

Azure SQL Database
{count} votes

1 answer

Sort by: Most helpful
  1. Navtej Singh Saini 4,221 Reputation points Microsoft Employee
    2020-08-17T20:51:15.923+00:00

    @Veelen van, Klaas /All

    As part of a fix CXPACKET waits were further broken down into CXSYNC_CONSUMER and CXSYNC_PORT (and data transfer waits still reported as CXPACKET) as to distinguish between different wait times for correct diagnose of the problem.

    Basically, CXPACKET is divided into 3: CXPACKET, CXSYNC_PORT, CXSYNC_CONSUMER. CXPACKET is used for data transfer sync, while CXSYNC_* are used for other synchronizations.
    CXSYNC_PORT is used for synchronizing opening/closing of exchange port between consuming thread and producing thread. Long wait here may indicate server load and lack of available threads. Plans containing sort may contribute this wait type because complete sorting may occur before port is synchronized.

    Hope this helps. Please get back to us if any other question.

    Thanks
    Navtej S

    2 people found this answer helpful.