[Maria-developers] Aliasing slave_parallel_workers/slave_parallel_threads
Hi Kristian, I am referencing an old thread from March 2014 here where you don’t have an objection, but maybe this has slipped: https://lists.launchpad.net/maria-developers/msg06923.html 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...). In MariaDB Server 10.1 we use slave_parallel_threads (https://mariadb.com/kb/en/mariadb/replication-and-binary-log-server-system-v...) From a DBA standpoint, and also from people using both databases in testing/production, this is confusing and scripts now have to have unnecessary added logic for if MariaDB or else MySQL. It would be wise for us to alias this, so that its easier from a DBA usability standpoint IMHO I planned to open up a Jira request, but since this was discussed on the list before I thought I would ask again to revive an old thread. cheers, -colin -- Colin Charles, http://bytebot.net/blog/ twitter: @bytebot | skype: colincharles "First they ignore you, then they laugh at you, then they fight you, then you win." -- Mohandas Gandhi
On 2016-01-23 20:02, Colin Charles wrote:
It would be wise for us to alias this, so that its easier from a DBA usability standpoint IMHO
I completely endorse adding this alias. Jean-François Gagné
Colin Charles <byte@aeon.com.my> 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...). In MariaDB Server 10.1 we use slave_parallel_threads (https://mariadb.com/kb/en/mariadb/replication-and-binary-log-server-system-v...)
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.
Hi! On 26.01.2016 15:13, Kristian Nielsen wrote:
Colin Charles <byte@aeon.com.my> 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...). In MariaDB Server 10.1 we use slave_parallel_threads (https://mariadb.com/kb/en/mariadb/replication-and-binary-log-server-system-v...) 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.
If it can wait for tomorrow afternoon I can review it
On 26.01.2016 15:13, Kristian Nielsen wrote:
Colin Charles <byte@aeon.com.my> 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...). In MariaDB Server 10.1 we use slave_parallel_threads (https://mariadb.com/kb/en/mariadb/replication-and-binary-log-server-system-v...) 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.
Oleksandr Byelkin <sanja@montyprogram.com> writes:
The patch is OK, but please run full test suite, IMHO sys_vars shouod bring some surprises to fix.
Thanks, Sanja! Yes, I fixed .result for sysvars_server_notembedded and mysqld--help, but I'll test it in bb-10.2-knielsen as well before pushing to main. - Kristian.
Kristian Nielsen <knielsen@knielsen-hq.org> writes:
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.
I've pushed the patch to 10.2 (with appropriate updates of test .result files). - Kristian.
participants (4)
-
Colin Charles
-
Jean-François Gagné
-
Kristian Nielsen
-
Oleksandr Byelkin