Bug #95959 Change ERROR 3031 with slave_preserve_commit_order error messages
Submitted: 24 Jun 2019 18:32 Modified: 25 Jun 2019 6:38
Reporter: Simon Mudd (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Replication Severity:S4 (Feature request)
Version:5.7 and 8.0 OS:Any
Assigned to: CPU Architecture:Any
Tags: slave_preserve_commit_order

[24 Jun 2019 18:32] Simon Mudd
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.
[25 Jun 2019 6:38] MySQL Verification Team
Hello Simon,

Thank you for the feature request!

regards,
Umesh