- 27 Mar, 2013 4 commits
-
-
unknown authored
When slave requested to start at some GTID, and that GTID was the very last event (within its replication domain) in some binlog file, we did not allow the binlog dump thread on the master to start from the beginning of a following binlog file. This is a problem, since the binlog file containing the GTID is likely to be purged if the replication domain is unused for long. With this fix, if the Gtid list event at the start of a binlog file contains exactly the GTID requested by the slave, we allow to start the binlog dump thread from this file, taking care not to skip any events from that domain in the file.
-
unknown authored
Fix bug that RESET SLAVE did not reset Using_Gtid back to 0.
-
unknown authored
Fix MDEV-4329. When user does CHANGE MASTER TO MASTER_GTID_POS='<explicit GTID state>', we check that this state does not conflict with the binlog. But the code forgot to give an error in the case where a domain was completely missing from the requested position (eg. MASTER_GTID_POS='').
-
unknown authored
Silence compiler warning.
-
- 26 Mar, 2013 3 commits
-
-
unknown authored
Fix missing error check for applying Gtid_log_event. Fix a couple compiler warnings.
-
unknown authored
Fix remaining two sporadic test failures in the full test suite: - Remove crash in DBUG_ASSERT() in _db_flush() (bug also exists in main tree). - Fix locking order violation for LOCK_status by temporarily unlocking it while locking LOCK_active_mi (like a similar fix for LOCK_global_variables).
-
unknown authored
Adjust full test suite to work with GTID. Huge patch, mainly due to having to update .result file for all SHOW BINLOG EVENTS and mysqlbinlog outputs, where the new GTID events pop up. Everything was painstakingly checked to be still correct and valid .result file updates.
-
- 22 Mar, 2013 2 commits
- 21 Mar, 2013 3 commits
-
-
unknown authored
Fix error handling when record_gtid() fails to update the mysql.rpl_slave_state table.
-
unknown authored
Fix MDEV-4278: Slave does not check that master understands GTID. Now the slave will abort with a suitable error if an attempt is made to connect with GTID to a master that does not support GTID.
-
unknown authored
Fix MDEV-4275 - I/O thread restart duplicates events in the relay log. The first time we connect to master after CHANGE MASTER or restart, we connect from the GTID position. But then subsequent reconnects or IO thread restarts reconnect with the old-style file/offset binlog pos from where it left off at last disconnect. This is necessary to avoid duplicate events in the relay logs, as there is nothing that synchronises the SQL thread update of GTID state (multiple threads in case of multi-source) with IO thread reconnects. Test cases. Some small cleanups and fixes.
-
- 18 Mar, 2013 1 commit
-
-
unknown authored
Fix things so that a master can switch with MASTER_GTID_POS=AUTO to a slave that was previously running with log_slave_updates=0, by looking into the slave replication state on the master when the slave requests something not present in the binlog. Be a bit more strict about what position the slave can ask for, to avoid some easy-to-hit misconfiguration errors. Start over with seq_no counter when RESET MASTER.
-
- 14 Mar, 2013 1 commit
-
-
unknown authored
After-rebase fixes. Rebase was done to be able to build on top of the binlog background thread of MDEV-532.
-
- 11 Mar, 2013 4 commits
-
-
unknown authored
Add a missing check for correct table definition.
-
unknown authored
Move a bunch of GTID specific code into new file rpl_gtid.cc. Make libmysqld build.
-
unknown authored
Improvements to record_gtid(): - Check for correct table definition of mysql.rpl_slave_state - Use autocommit, to save one call to ha_commit_trans() - Slightly more efficient way to set table->write_set - Use ha_index_read_map() to locate rows to support any storage engine.
-
unknown authored
Extend table definition checking to also be able to check for correct definition of the primary key.
-
- 27 Feb, 2013 2 commits
-
-
unknown authored
Fix that CHANGE MASTER ... MASTER_GTID_POS="" works to start from the very beginning of the binary log (with test case). Fix that not finding the requested GTID position in master binlog results in fatal error, not endless connect retry.
-
unknown authored
Add test case demonstrating multi-source replication with GTID. Test that we can move from being slave of two masters to be a slave deeper down in the hierarchy (of a higher-up multi-source slave), and vice versa.
-
- 26 Feb, 2013 1 commit
-
-
unknown authored
Remove the two-component form of GTID with implicit domain_id=0, as it is likely to cause more confusion than help. Give a better error for CHANGE MASTER ... MASTER_GTID_POS='gtid,gitd,...' when two specified GTIDs have conflicting domain_id.
-
- 25 Feb, 2013 1 commit
-
-
unknown authored
Fix lock order violation. Make sure we temporarily release LOCK_global_system_variables before taking LOCK_active_mi. Otherwise we get a lock dependency cycle when we use open_tables() under LOCK_active_mi.
-
- 22 Feb, 2013 2 commits
-
-
unknown authored
- Fix skipping initial MyISAM DML when connecting using GTID. - Fix RESET MASTER not clearing in-memory binlog state. - Fix not reading standalone flag in Gtid_log_event::peek(). - Fix skipping DDL that the slave has already seen when using GTID position.
-
unknown authored
- Fix that binlog_gtid_pos() (and hence slave connect) does not work correctly in the very first binlog file (due to not logging empty Gtid_list_log_event). - Remove one instance of the stupid domain_id-0-is-implicit. - Rename the confusing Gtid_Pos_Auto in SHOW SLAVE STATUS to Using_Gtid. - Fix memory leak.
-
- 21 Feb, 2013 2 commits
-
-
unknown authored
Fix crash in binlog_gtid_pos('', 4) (and thus slave connect) when master does not have binlog enabled.
-
unknown authored
- Add first basic mysql-test-run test case which tests switch to new master using MASTER_GTID_POS=AUTO. - When we connect with GTID, do not use any old relay logs, as they may contain the wrong events or be corrupt after crash. - Fix old bug that fails replication if we receive a heartbeat event immediately after an event was omitted in the stream from the master. - Fix rpl_end to clear Gtid_Pos_Auto, to keep check_testcase happy.
-
- 19 Feb, 2013 2 commits
-
-
unknown authored
Fix memory leak.
-
unknown authored
- Fix that slave GTID state was updated from the wrong place in the code, causing random crashing and other misery. - Fix updates to mysql.rpl_slave_state to not go to binlog (this would cause duplicate key errors on the slave and is generally the wrong thing to do).
-
- 18 Feb, 2013 1 commit
-
-
unknown authored
Fix initial loading of mysql.rpl_slave_state, the code had several issues. Some very basic MTR stuff, more to come.
-
- 15 Feb, 2013 3 commits
- 14 Feb, 2013 1 commit
-
-
unknown authored
Slave now loads the GTID state from the master when connecting with old-style filename/offset position. This allows the user to use MASTER_GTID_POS=AUTO on next CHANGE MASTER without any other action needed.
-
- 13 Feb, 2013 1 commit
-
-
unknown authored
Fix binlog_gtid_pos() to handle empty file name, and to not allow user to open arbitrary file on the system.
-
- 11 Feb, 2013 1 commit
-
-
unknown authored
Implement binlog_gtid_pos() function. This will be used so that the slave can obtain the gtid position automatically from first connect with old-style position - then MASTER_GTID_POS=AUTO will work the next time. Can also be used by mysqldump --master-data to give the current gtid position directly.
-
- 25 Jan, 2013 2 commits
- 22 Jan, 2013 1 commit
-
-
unknown authored
Implement CHANGE MASTER TO MASTER_GTID_POS=xxx.
-
- 15 Nov, 2012 1 commit
-
-
unknown authored
Now slave can connect to master, sending start position as slave state rather than old-style binlog name/position. This enables to switch to a new master by changing just connection information, replication slave GTID state ensures that slave starts at the correct point in the new master.
-
- 07 Nov, 2012 1 commit
-
-
unknown authored
Now master saves and restores the binlog state, across server restart and crash.
-