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

PARALLEL_REDO_FLOW_CONTROL

(Back to main page…)

Description:

This wait type is when the main redo thread in an Availability Group replica has dispatched as much as log as it can to the parallel redo threads and is waiting for one of them to complete its redo work so that more log can be dispatched for redoing.

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 1130 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 occurs because the parallel redo threads either cannot keep up with the volume of log being sent for redo by the main redo thread for some reason.

On some servers running builds before SQL Server 2016 SP1 CU2, this wait type is the symptom of a crippling bottleneck during redo of transaction log records on an AG replica.

If you are experiencing this wait type as one of the highest waits on your AG secondaries, you can disable parallel redo by turning on trace flag 3459 using DBCC TRACEON (3459, -1), or adding it as a startup trace flag using the Configuration Manager. The trace flag does not come into effect until the instance is restarted.

You can read more about parallel redo in this blog post.

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

  1. TBD

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

  1. TBD