maria-developers team mailing list archive
Mailing list archive
Re: a Query_log_event charset bug in parallel replication
> Right, I see. Probably the cached_charset just needs to be moved into the
> rpl_group_info struct.
> I have filed a bug for this that I will fix:
I'm afraid there is still some cases would lead mistake if move cached_charset into rpl_group_info struct.
For a worker thread can keep a lot rpl_group_info structs in its rgi_free_list, and those rgis can be reused many times.
in this case:
a worker thread executes there transactions, which is trans1,trans2 and trans3
trans1's charset is utf8 and it use rgi1
trans2's charset is latin1 and it use rgi2
trans3's charset is utf8 and it use rgi1
so when worker thread start to execute trans3, rgi1->cached_charset == utf8. but thd->variables.character_set_* are latin1. and
them wouldn't be changed to utf8 for rgi->cached_charset_compare return 0.