content_image/694640.jpg content_image/694641.jpg
the same order as they appear in the replica’s relay log. The way in which transactions are distributed among applier threads is configured by slave_parallel_type . 

To disable parallel execution, set this option to 0, which gives the replica a single applier thread and no coordinator thread. With this setting, the slave_parallel_type  and slave_preserve_commit_order  system variables have no effect and are ignored. 

Setting slave_parallel_workers  has no immediate effect. The state of the variable applies on all subsequent START REPLICA | SLAVE  statements. 

• slave_pending_jobs_size_max 

<img src='content_image/694640.jpg'>

For multithreaded replicas, this variable sets the maximum amount of memory (in bytes) available to applier queues holding events not yet applied. Setting this variable has no effect on replicas for which multithreading is not enabled. Setting this variable has no immediate effect. The state of the variable applies on all subsequent START REPLICA | SLAVE  commands. 

The minimum possible value for this variable is 1024 bytes; the default is 128MB. The maximum possible value is 18446744073709551615 (16 exbibytes). Values that are not exact multiples of 1024 bytes are rounded down to the next lower multiple of 1024 bytes prior to being stored. 

The value of this variable is a soft limit and can be set to match the normal workload. If an unusually large event exceeds this size, the transaction is held until all the worker threads have empty queues, and then processed. All subsequent transactions are held until the large transaction has been completed. 

• slave_preserve_commit_order 

<img src='content_image/694641.jpg'>

