(Republishing, or using this info in a commercial product/website, is prohibited without permission. All other uses are permitted. If in doubt, please ask.)

PWAIT_DIRECTLOGCONSUMER_GETNEXT

(Back to main page…)

Description:

This wait type is when a thread that is reading from the transaction log is waiting for a log block to be supplied to it.

(Books Online description: N/A)

Questions/comments on this wait type? Click here to send Paul an email, especially if you have any information to add to this topic.

Added in SQL Server version:

2016

Removed in SQL Server version:

N/A

Extended Events wait_type value:

Maps to the DIRECTLOGCONSUMER_GETNEXT map_value in sys.dm_xe_map_values.

The map_key value in sys.dm_xe_map_values is 1106 in 2016 RTM. After 2016 RTM, you must check the DMV to get the latest value as some map_key values have changed in later builds.

Other information:

I have not seen this wait type be a noticeable contention point.

Known occurrences in SQL Server (list number matches call stack list):

  1. Consuming the log (in this case, for checkpoint of a Hekaton table)

And other similar call stacks.

Abbreviated call stacks (list number matches known occurrences list):

  1. SOS_Task::PostWait+0x6f
    EventInternal<SuspendQueueSLock>::Wait+0x1f4
    DirectLogConsumer::GetNextLogBlock+0x5f7
    HkHostCheckpointController::DoWork+0x264
    HkHostControllerCtxtImpl::WorkLoop+0x1f7
    SOS_Task::Param::Execute+0x231
    SOS_Scheduler::RunTask+0xaa