← Back to team overview

maria-developers team mailing list archive

Re: Aliasing slave_parallel_workers/slave_parallel_threads

 

On 26.01.2016 15:13, Kristian Nielsen wrote:
Colin Charles <byte@xxxxxxxxxxx> writes:

MySQL 5.7 has been released and I’m sure you realise that it uses the
variable slave_parallel_workers
(http://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html#sysvar_slave_parallel_workers). In
MariaDB Server 10.1 we use slave_parallel_threads
(https://mariadb.com/kb/en/mariadb/replication-and-binary-log-server-system-variables/#slave_parallel_threads)
It would be wise for us to alias this, so that its easier from a DBA usability standpoint IMHO
The problem with doing this is that the options are not identical between
MySQL and MariaDB. This means that users/DBAs can experience unpleasant
surprises when their configuration carries over from one to the other but
then silently does the wrong thing.

For example, --slave-parallel-workers in MySQL enables out-of-order parallel
replication between schemas. This can break replication unless applications
are careful to avoid cross-schema queries. In contrast, MariaDB
--slave-parallel-threads is in-order (unless GTID is used), so does not
restrict applications. This means that moving from a MariaDB with
--slave-parallel-workers set to MySQL can silently break replication.

But maybe the options are sufficiently similar (or maybe we do not care
about MariaDB->MySQL migrations). If the consensus is to add the alias, I
do not have a strong opinion one way or the other.

Attached is a patch that implements this. Monty or Sanja, can one of you
review the patch? IIRC, you worked previously on MySQL option compatibility.

  - Kristian.

The patch is OK, but please run full test suite, IMHO sys_vars shouod bring some surprises to fix.




Follow ups

References