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

XE_BUFFERMGR_ALLPROCESSED_EVENT

(Back to main page…)

Description:

This wait type is when a thread is waiting for access to a critical section of code (one which only one thread can be executing) as part of processing communication packets between SQL Server and clients. The SQL Server Network Interface (SNI) protocol layer is a generic framework for encapsulating TDS packets and communicating with clients over whatever protocol has been configured.

(Books Online description: “Occurs when Extended Events session buffers are flushed to targets. This wait occurs on a background thread.”)

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:

2008

Removed in SQL Server version:

N/A

Extended Events wait_type value:

The map_key value in sys.dm_xe_map_values is 341 in 2008 and 2008 R2, 388 in 2012, and 404 in 2014 RTM. After 2014 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. Flushing all buffered events to targets for a session (in this case, flushing all buffered events from a session just before changes to the session are committed)
  2. Flushing all buffered events to targets for a session (in this case, while flushing all events for all sessions as part of shutting down the instance)

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

  1. SOS_Task::PostWait+9e
    EventInternal<SuspendQueueSLock>::Wait+2ca
    XE_FlushRequest::Wait+e0
    XE_Session::Flush+152
    XE_Session::Commit+d2
    XE_Session::Close+205
    XE_Session::Destroy+33
    XE_Engine::ReleaseObjectReference+79
    XEventController::VLR_AlterXESession::~VLR_AlterXESession+77
    XEventController::VLR_StopXESession::CommitAndRelease+194
    XdesRMReadWrite::CommitAllVirtualLogRecs+e4
    XdesRMReadWrite::PreDestruct+23e
    XdesRMFull::~XdesRMFull+b2
    XdesRMFull::`vector deleting destructor’+14
    XactRM::SinglePhaseCommit+1e3
    XactRM::CommitInternal+472
    FullXactImp::Commit+33f
    CMsqlXactInternalReadWrite::Commit+19
    CMsqlXactImp::Commit+1d6
    CXStmtDDL::FinishNormalImp+e1
    CMsqlExecContext::ExecuteStmts<0,1>+9d8
  2. SOS_Task::PostWait+9e
    EventInternal<SuspendQueueSLock>::Wait+2ca
    XE_FlushRequest::Wait+e0
    XE_Session::Flush+152
    XE_FlushSessions+17f
    FlushAllExtendedEventSessions+2e
    sqlservr.exe!SQLExitNoHangImpl+25
    sqlservr.exe!SQLExitImpl+68
    sqlservr.exe!SignalProc+26c
    StartUp::InitDBMS+169
    SOS_Task::Param::Execute+21e
    SOS_Scheduler::RunTask+a8