[Maria-discuss] Duplication of documentation for binlog annotation and a question on replicate_annotate_row_events not being dynamic
Hi all, This is a documentation organisation question and a technical question on replicate_annotate_row_events not being dynamic. In [1], we can find the documentation for the options binlog-annotate-row-events and replicate-annotate-row-events, and [2] points to [1]. However, there is a duplication of that documentation in [3] and [4], is there a reason for that (there is a risk of those 2 documentation diverging) ? [1]: https://mariadb.com/kb/en/mariadb/annotate_rows_log_event/ [2]: https://mariadb.com/kb/en/mariadb/mysqld-options/ [3]: https://mariadb.com/kb/en/mariadb/replication-and-binary-log-server-system-v... [4]: https://mariadb.com/kb/en/mariadb/replication-and-binary-log-server-system-v... And the technical question about replicate_annotate_row_events: this variable is not dynamic, is there a reason for that ? I understand that this variable could/should only be modifiable while the slave is stopped, but not being dynamic is not very DBA/SysAdmin/Operator friendly. Many thanks, Jean-François Gagné
Regarding the documentation, thanks for reporting. Yes, pure duplication is always at risk of diverging, so I will remove the detailed variable description from [1] and rather link to [3],[4] On 29/06/2017 16:23, Jean-Francois B. Gagne wrote:
In [1], we can find the documentation for the options binlog-annotate-row-events and replicate-annotate-row-events, and [2] points to [1]. However, there is a duplication of that documentation in [3] and [4], is there a reason for that (there is a risk of those 2 documentation diverging) ?
[1]: https://mariadb.com/kb/en/mariadb/annotate_rows_log_event/
[2]: https://mariadb.com/kb/en/mariadb/mysqld-options/
[3]: https://mariadb.com/kb/en/mariadb/replication-and-binary-log-server-system-v...
[4]: https://mariadb.com/kb/en/mariadb/replication-and-binary-log-server-system-v...
"Jean-Francois B. Gagne" <jeanfrancois.gagne@booking.com> writes:
And the technical question about replicate_annotate_row_events: this variable is not dynamic, is there a reason for that ? I understand that this variable could/should only be modifiable while the slave is stopped, but not being dynamic is not very DBA/SysAdmin/Operator friendly.
It looks like there is no reason for it. The only place the variable is used is during slave connect to master (in request_dump()). So the variable could even be completely dynamic (no need to have slave stopped), though it will only take effect after slave IO thread reconnect. I suspect that this one-liner would work just fine to make the variable dynamic: diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc index de054f3..641d7a5 100644 --- a/sql/sys_vars.cc +++ b/sql/sys_vars.cc @@ -5316,7 +5316,7 @@ static Sys_var_mybool Sys_replicate_annotate_row_events( "replicate_annotate_row_events", "Tells the slave to write annotate rows events received from the master " "to its own binary log. Ignored if log_slave_updates is not set", - READ_ONLY GLOBAL_VAR(opt_replicate_annotate_row_events), + GLOBAL_VAR(opt_replicate_annotate_row_events), CMD_LINE(OPT_ARG), DEFAULT(TRUE)); #endif - Kristian.
participants (3)
-
Ian Gilfillan
-
Jean-Francois B. Gagne
-
Kristian Nielsen