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

HADR_FILESTREAM_IOMGR_IOCOMPLETION

(Back to main page…)

Description:

This wait type is when the FILESTREAM I/O manager for availability groups is sleeping between checks for completion of any I/Os sending FILESTREAM data to replicas. This wait occurs every 0.5 seconds for 0.5 seconds, regardless of whether any availability groups are configured.

(Books Online description: “The FILESTREAM AlwaysOn I/O manager is waiting for I/O completion.”)

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:

2012

Removed in SQL Server version:

N/A

Extended Events wait_type value:

Maps to the HADRFS_IOMGR_IOCOMPLETION map_value in sys.dm_xe_map_values (thanks to Jonathan’s post here).

The map_key value in sys.dm_xe_map_values is 782 in 2012 and 800 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.

This wait type is one that I usually filter out as a benign wait when doing wait statistics analysis.

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

  1. Sleeping between checks for completed FILESTREAM I/O to any availability group replicas.

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

  1. SOS_Task::PostWait+90
    EventInternal<SuspendQueueSLock>::Wait+1f9
    CHadrFsIoManager::ProcessIoCompletions+b3
    CSbTask::TaskStart+14b
    CSbTask::BeginTaskStart+17
    SOS_Task::Param::Execute+21e
    SOS_Scheduler::RunTask+a8