Description:
I have bumped into both these error messages:
ERROR 3031 (HY000): slave_preserve_commit_order is not supported unless both log_bin and log_slave_updates are enabled.
ERROR 3031 (HY000): slave_preserve_commit_order is not supported when slave_parallel_type is DATABASE.
Yet actually they refer to a single specific problem. Please consider fixing the code to report a single, more concise, error message in both cases:
ERROR 3031 (HY000): slave_preserve_commit_order requires log_bin and log_slave_updates to be enabled and slave_parallel_type = LOGICAL_CLOCK
This would reduce 2 different error messages into one and at the same time be more concise.
It would also specify as far as I know the 3 different settings which need to be configure this setting so would ensure that if configured incorrectly
all required conditions are specified.
How to repeat:
misconfigure replication by setting:
slave_preserve_commit_order with the wrong required settings and you'll get the current errors reported above.
Suggested fix:
Change the code to use the single more specific error which specifies the required settings.