-
Venkatesh Duggirala authored
Problem: When CREATE/ALTER/DROP DATABASE statements are getting filtered out on slave because of the replication filters installed, server is not adding their GTID_EXECUTED to GTID_EXECUTED_SET. Analysis: When ever a statement is getting filtered out due the filter rule, server adds the gtid of the filtered transaction to GTID_EXECUTED_SET by executing an empty transaction on the slave. So that the same transaction will be replicated again in case of re connections and also GTID_EXECUTED_SET will not have any GAPS. But this is *not* happening in case of three statements that are mentioned in problem description (CREATE/ALTER/DROP DATABASE). Fix: Code has re factored to make sure that an empty transaction will be executed for these three statements (CREATE/ALTER/DROP DATABASE) also.
Venkatesh Duggirala authoredProblem: When CREATE/ALTER/DROP DATABASE statements are getting filtered out on slave because of the replication filters installed, server is not adding their GTID_EXECUTED to GTID_EXECUTED_SET. Analysis: When ever a statement is getting filtered out due the filter rule, server adds the gtid of the filtered transaction to GTID_EXECUTED_SET by executing an empty transaction on the slave. So that the same transaction will be replicated again in case of re connections and also GTID_EXECUTED_SET will not have any GAPS. But this is *not* happening in case of three statements that are mentioned in problem description (CREATE/ALTER/DROP DATABASE). Fix: Code has re factored to make sure that an empty transaction will be executed for these three statements (CREATE/ALTER/DROP DATABASE) also.
Loading