-
Pedro Gomes authored
hen using GTIDs and semi sync, whenever a transaction is executed on the master but is not sent to the slave because it already has this id, semi sync will time out. In fact, semi sync hooks will still trigger a waiting process in the master, but as the transaction never reaches the slave, a reply is never sent. Making the semi sync plug-in call the reportReplyBinlog method whenever a transaction is skipped solves this issue. @semisync_master.cc A new method skipSlaveReply was created to allow the interruption of the waiting process without a reply. @semisync_master.h New method header and other headers updated @semisync_master_plugin.cc The after send event response now depends on the transaction being skipped or not @replication.h rpl_handler.h rpl_handler.cc The after_send_event hook now takes new parameters that flag if the event was skipped, what was is position and binlog. @rpl_master.cc The after_send_event hook is now always invoked taking as new parameters the position and binlog when transactions are skipped.
Pedro Gomes authoredhen using GTIDs and semi sync, whenever a transaction is executed on the master but is not sent to the slave because it already has this id, semi sync will time out. In fact, semi sync hooks will still trigger a waiting process in the master, but as the transaction never reaches the slave, a reply is never sent. Making the semi sync plug-in call the reportReplyBinlog method whenever a transaction is skipped solves this issue. @semisync_master.cc A new method skipSlaveReply was created to allow the interruption of the waiting process without a reply. @semisync_master.h New method header and other headers updated @semisync_master_plugin.cc The after send event response now depends on the transaction being skipped or not @replication.h rpl_handler.h rpl_handler.cc The after_send_event hook now takes new parameters that flag if the event was skipped, what was is position and binlog. @rpl_master.cc The after_send_event hook is now always invoked taking as new parameters the position and binlog when transactions are skipped.
Loading