maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #03631
Re: [Commits] Rev 2851: MWL#132: Transaction coordinator plugin. in http://bazaar.launchpad.net/~maria-captains/maria/5.1
Michael Widenius <monty@xxxxxxxxxxxx> writes:
> knielsen> +++ b/sql/log.cc 2010-10-04 10:48:08 +0000
> knielsen> @@ -6531,6 +6531,39 @@ err1:
> knielsen> "--tc-heuristic-recover={commit|rollback}");
> knielsen> return 1;
> knielsen> }
> knielsen> +
> knielsen> +static TC_LOG *
> knielsen> +tc_log_mmap_register(void *arg __attribute__((unused)), int yield)
> knielsen> +{
> knielsen> + if (yield || total_ha_2pc <= 1)
> knielsen> + return NULL;
> knielsen> +
> knielsen> + return &tc_log_mmap;
> knielsen> +}
>
> <cut>
>
> knielsen> +++ b/sql/mysqld.cc 2010-10-04 10:48:08 +0000
> knielsen> @@ -4283,10 +4283,11 @@ a file name for --log-bin-index option",
> knielsen> }
> knielsen> #endif
>
> knielsen> - tc_log= (total_ha_2pc > 1 ? (opt_bin_log ?
> knielsen> - (TC_LOG *) &mysql_bin_log :
> knielsen> - (TC_LOG *) &tc_log_mmap) :
> knielsen> - (TC_LOG *) &tc_log_dummy);
>
> According to the old code, the tc_log_mmap_register() should use:
>
> if (yield || total_ha_2pc <= 1 || opt_bin_log)
> return NULL;
>
> Was this an intentional change ?
It is not a behavior change. If opt_bin_log is set, then in the first round
(yield==true), the mmap plugin will yield, and the binlog plugin will select
itself as TC. If opt_bin_log is not set, then binlog plugin will not register
as TC and mmap (or dummy) will register themselves as fallback TC in the
second round (yield==false).
The idea is to generalise the test to handle the case of a custom binlog
plugin, in which case a hard-coded check of opt_bin_log is not sufficient.
> If yes, there should have been a comment about it.
Thanks for your remarks, I will try to clarify the comments.
- Kristian.
References