← Back to team overview

maria-discuss team mailing list archive

Re: Duplication of documentation for binlog annotation and a question on replicate_annotate_row_events not being dynamic

 

"Jean-Francois B. Gagne" <jeanfrancois.gagne@xxxxxxxxxxx> 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.


References