(Republishing, or using this info in a commercial product/website, is prohibited without permission. All other uses are permitted. If in doubt, please ask.)
Description:
This wait type is when the main parallel redo thread in an Availability Group replica is waiting for the redo worker threads to complete. This wait is part of normal parallel redo operations.
(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:
The map_key value in sys.dm_xe_map_values is 1131 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:
This wait type is one that I usually filter out as a benign wait when doing wait statistics analysis as it is documented as not being indicative of a performance issue.
You can read more about parallel redo in this blog post.
Known occurrences in SQL Server (list number matches call stack list):
- Waiting for parallel redo work threads to complete (in this case, while running recovery as part of CREATE DATABASE operation)
- Waiting for parallel redo work threads to complete (in this case, while running recovery as part of RESTORE DATABASE operation)
And other similar call stacks.
Abbreviated call stacks (list number matches known occurrences list):
- SOS_Task::PostWait+0x6f
EventInternal<SuspendQueueSLock>::Wait+0x1f4
ParallelRedoManager::StopRedoWorkers+0x115
RecoveryMgr::Cleanup+0xc0
RecoveryUnit::DoRollbackRecovery+0x49
RecoveryUnit::CompleteRecovery+0x6ef
DBTABLE::StartupPostRecovery+0x9f
DBTABLE::Startup+0x1475
DBMgr::StartupDB+0x7d5
CStmtCreateDB::CreateLocalDatabaseFragment+0x99d
DBDDLAgent::CreateDatabase+0x12b
CStmtCreateDB::XretExecute+0x1253
CMsqlExecContext::ExecuteStmts<1,1>+0x40d
CMsqlExecContext::FExecute+0xa9e
CSQLSource::Execute+0x981
process_request+0xe61
process_commands_internal+0x2df
process_messages+0x253
SOS_Task::Param::Execute+0x231
SOS_Scheduler::RunTask+0xaa - SOS_Task::PostWait+0x6f
EventInternal<SuspendQueueSLock>::Wait+0x1f4
ParallelRedoManager::StopRedoWorkers+0x115
RecoveryMgr::Cleanup+0xc0
RecoveryUnit::DoRollbackRecovery+0x49
RecoveryUnit::CompleteRecovery+0x6ef
DBTABLE::StartupPostRecovery+0x9f
DBTABLE::Startup+0x1475
DBMgr::StartupDB+0x7d5
BackupOperation::StartupDb+0x1e3
BackupOperation::StartDatabaseForOnline+0x222
BackupOperation::BringDatabaseFullyOnline+0x4ce
BackupOperation::CompleteRestore+0x432
BackupOperation::Restore+0xeea
BackupEntry::RestoreDatabase+0x304
CStmtLoadDb::XretExecute+0x10f
CMsqlExecContext::ExecuteStmts<1,1>+0x40d
CMsqlExecContext::FExecute+0xa9e
CSQLSource::Execute+0x981
process_request+0xe61