An IGNORABLE event is added into binlog when a gap between two events is detected
An IGNORABLE event is added into binlog when a gap between two events is detected. New routines create and write special events. Special events are not sent to slaves.
This commit is contained in:
@ -61,6 +61,9 @@
|
||||
* 09/05/2016 Massimiliano Pinto Added SELECT USER()
|
||||
* 11/07/2016 Massimiliano Pinto Added SSL backend support
|
||||
* 24/08/2016 Massimiliano Pinto Added slave notification via CS_WAIT_DATA
|
||||
* 16/09/2016 Massimiliano Pinto Special events created by MaxScale are not sent to slaves:
|
||||
* MARIADB10_START_ENCRYPTION_EVENT or IGNORABLE_EVENT
|
||||
* Events with LOG_EVENT_IGNORABLE_F are skipped as well.
|
||||
*
|
||||
* @endverbatim
|
||||
*/
|
||||
@ -2304,6 +2307,15 @@ blr_slave_catchup(ROUTER_INSTANCE *router, ROUTER_SLAVE *slave, bool large)
|
||||
strcpy(binlog_name, slave->binlogfile);
|
||||
binlog_pos = slave->binlog_pos;
|
||||
|
||||
/* Don't sent special events generated by MaxScale */
|
||||
if (hdr.event_type == MARIADB10_START_ENCRYPTION_EVENT || hdr.event_type == IGNORABLE_EVENT || (hdr.flags & LOG_EVENT_IGNORABLE_F))
|
||||
{
|
||||
slave->binlog_pos = hdr.next_pos;
|
||||
gwbuf_free(record);
|
||||
record = NULL;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (hdr.event_type == ROTATE_EVENT)
|
||||
{
|
||||
unsigned long beat1 = hkheartbeat;
|
||||
|
||||
Reference in New Issue
Block a user