- 23 Oct, 2009 4 commits
-
-
He Zhenxing authored
-
He Zhenxing authored
-
He Zhenxing authored
plugin/semisync/CMakeLists.txt: Add CMakeLists.txt for semisync
-
He Zhenxing authored
CMakeLists.txt: Add plugin/semisync subdirectory mysql-test/mysql-test-run.pl: Check for semisync dll for Windows mysql-test/suite/rpl/r/rpl_semi_sync.result: Update result file mysql-test/suite/rpl/t/rpl_semi_sync.test: Test semi-sync on Windows plugin/semisync/semisync_master.cc: Define gettimeofday for Windows
-
- 18 Oct, 2009 1 commit
-
-
He Zhenxing authored
rpl_semi_sync_master_wait_sessions was reset by FLUSH STATUS, which could cause the master fail to wake up waiting sessions and result in master timeout waiting for slave reply. rpl_semi_sync_master_wait_session should not be reset, this problem is fixed by this patch. plugin/semisync/semisync_master_plugin.cc: Change wait_sessions from SHOW_LONG back to SHOW_FUNC so that it will not be reset by FLUSH STATUS.
-
- 14 Oct, 2009 1 commit
-
-
He Zhenxing authored
Use ev_offset instead of 1 as the packet header offset when getting log position from events for heartbeat call reset_transmit_packet before calling send_heartbeat_event sql/sql_repl.cc: Use ev_offset instead of 1 as the packet header offset when getting log position from events for heartbeat call reset_transmit_packet before calling send_heartbeat_event
-
- 13 Oct, 2009 1 commit
-
-
He Zhenxing authored
-
- 12 Oct, 2009 5 commits
-
-
He Zhenxing authored
Remove functions that no longer needed Fix warning suppressions mysql-test/suite/rpl/t/rpl_semi_sync.test: Fix warning suppressions plugin/semisync/semisync_slave.cc: Remove functions that no longer needed plugin/semisync/semisync_slave.h: Remove functions that no longer needed
-
He Zhenxing authored
Add an option to control whether the master should keep waiting until timeout when it detected that there is no semi-sync slave available. The bool option 'rpl_semi_sync_master_wait_no_slave' is 1 by defalt, and will keep waiting until timeout. When set to 0, the master will switch to asynchronous replication immediately when no semi-sync slave is available.
-
He Zhenxing authored
Semi-sync status were not reset by FLUSH STATUS, this was because all semi-sync status variables are defined as SHOW_FUNC and FLUSH STATUS could only reset SHOW_LONG type variables. This problem is fixed by change all status variables that should be reset by FLUSH STATUS from SHOW_FUNC to SHOW_LONG. After the fix, the following status variables will be reset by FLUSH STATUS: Rpl_semi_sync_master_yes_tx Rpl_semi_sync_master_no_tx Note: normally, FLUSH STATUS itself will be written into binlog and be replicated, so after FLUSH STATS, one of Rpl_semi_sync_master_yes_tx Rpl_semi_sync_master_no_tx can be 1 dependent on the semi-sync status. So it's recommended to use FLUSH NO_WRITE_TO_BINLOG STATUS to avoid this.
-
He Zhenxing authored
Errors when send reply to master should never cause the IO thread to stop, because master can fall back to async replication if it does not get reply from slave. The problem is fixed by deliberately ignoring the return value of slaveReply.
-
He Zhenxing authored
Semi-sync uses an extra connection from slave to master to send replies, this is a normal client connection, and used a normal SET query to set the reply information on master, which is visible to user and may cause some confusion and complaining. This problem is fixed by using the method of sending reply by using the same connection that is used by master dump thread to send binlog to slave. Since now the semi-sync plugins are integrated with the server code, it is not a problem to use the internal net interfaces to do this. The master dump thread will mark the event requires a reply and wait for the reply when the event just sent is the last event of a transaction and semi-sync status is ON; And the slave will send a reply to master when it received such an event that requires a reply.
-
- 10 Oct, 2009 1 commit
-
-
Serge Kozlov authored
Fix for backport into mysql-5.1-rep+2
-
- 09 Oct, 2009 1 commit
-
-
Andrei Elkin authored
mysql-test/suite/rpl/r/rpl_stop_middle_group.result: the new result file mysql-test/suite/rpl/t/rpl_stop_middle_group.test: renamed from rpl_row_stop_middle_update and added a regression test for bug#45940.
-
- 07 Oct, 2009 2 commits
-
-
Luis Soares authored
-
Serge Kozlov authored
The issue appears when number of heartbeat events non-zero before start of test block. But really we need to check that no new events has received during test block. So I did following: 1. Replace absolute values by diff of values 2. Increase heartbeat period from 1.5 to 5 sec
-
- 06 Oct, 2009 1 commit
-
-
Andrei Elkin authored
-
- 03 Oct, 2009 5 commits
-
-
Serge Kozlov authored
It is backport patch. This adds new test case for testing affects of some variables to replication.
-
He Zhenxing authored
-
He Zhenxing authored
On sparc, semisync master/slave status is always showed as OFF, this is fixed by change rpl_semisync_master/slave_status variables from long to char. plugin/semisync/semisync_master.cc: Change rpl_semisync_master_status variables from long to char plugin/semisync/semisync_master.h: Change rpl_semisync_master_status variables from long to char plugin/semisync/semisync_slave.cc: Change rpl_semisync_slave_status variables from long to char plugin/semisync/semisync_slave.h: Change rpl_semisync_slave_status variables from long to char
-
He Zhenxing authored
-
He Zhenxing authored
-
- 02 Oct, 2009 13 commits
-
-
Serge Kozlov authored
This is backport for next-mr. The patch adds new test cases that cover replication heartbeat testing.
-
Andrei Elkin authored
fixing tests results: rpl_ndb_log, rpl_ndb_multi, sp_trans_log; adding replicate-ignore_server_ids specific tests
-
He Zhenxing authored
mysql-test/mysql-test-run.pl: Set SEMISYNC_PLUGIN_OPT to '--plugin-dir=' when semi-sync plugins are not found
-
He Zhenxing authored
binlog_tmp_table rpl_row_sp006_InnoDB rpl_slave_status
-
He Zhenxing authored
-
He Zhenxing authored
According to Jon's comment, add (at least one of) to the error message.
-
He Zhenxing authored
-
He Zhenxing authored
CHANGE MASTER TO command required the value for RELAY_LOG_FILE to be an absolute path, which was different from the requirement of MASTER_LOG_FILE. This patch fixed the problem by changing the value for RELAY_LOG_FILE to be the basename of the log file as that for MASTER_LOG_FILE.
-
He Zhenxing authored
Options loaded from config files were added before command line arguments, and they were parsed together, which could interprete the following: option-a option-b as --option-a=--option-b if 'option-a' requires a value, and caused confusing. Because all options that requires a value are always given in the form '--option=value', so it's an error if there is no '=value' part for such an option read from config file. This patch added a separator to separate the arguments from config files and that from command line, so that they can be handled differently. And report an error for options loaded from config files that requires a value and is not given in the form '--option=value'.
-
He Zhenxing authored
There were two memory leaks in mysqlbinlog command, one was already fixed by previous patches, another one was that defaults_argv was set to the value of argv after parse_args, in which called handle_options after calling load_defaults and changed the value of argv, and caused the memory allocated for defaults arguments not freed. Fixed the problem by setting defaults_argv right after calling load_defaults.
-
He Zhenxing authored
There are three internal status for slave I/O thread, both MYSQL_SLAVE_RUN_NOT_CONNECT and MYSQL_SLAVE_NOT_RUN are reported as 'No' for Slave_IO_running of command SHOW SLAVE STATUS. Change MYSQL_SLAVE_RUN_NOT_CONNECT to be reported as 'Connecting'.
-
He Zhenxing authored
When a storage engine failed to initialize before allocated slot number, the slot number would be 0, and when later finalizing this plugin, it would accidentally unplug the storage engine currently uses slot 0. This patch fixed this problem by add a new macro value HA_SLOT_UNDEF to distinguish undefined slot number from slot 0.
-
He Zhenxing authored
Fix mtr semisync plugin option paths
-
- 01 Oct, 2009 2 commits
-
-
Andrei Elkin authored
-
Andrei Elkin authored
-
- 30 Sep, 2009 3 commits
-
-
Luis Soares authored
wait_until_disconnected.inc.
-
Alfranio Correia authored
NOTE: Backporting the patch to next-mr. The slave was crashing while failing to execute the init_slave() function. The issue stems from two different reasons: 1 - A failure while allocating the master info structure generated a segfault due to a NULL pointer. 2 - A failure while recovering generated a segfault due to a non-initialized relay log file. In other words, the mi->init and rli->init were both set to true before executing the recovery process thus creating an inconsistent state as the relay log file was not initialized. To circumvent such problems, we refactored the recovery process which is now executed while initializing the relay log. It is ensured that the master info structure is created before accessing it and any error is propagated thus avoiding to set mi->init and rli->init to true when for instance the relay log is not initialized or the relay info is not flushed. The changes related to the refactory are described below: 1 - Removed call to init_recovery from init_slave. 2 - Changed the signature of the function init_recovery. 3 - Removed flushes. They are called while initializing the relay log and master info. 4 - Made sure that if the relay info is not flushed the mi-init and rli-init are not set to true. In this patch, we also replaced the exit(1) in the fault injection by DBUG_ABORT() to make it compliant with the code guidelines.
-
Luis Soares authored
rpl_slave_skip fails randomly on PB2. This patch fixes the failure by setting explicit wait for SQL thread to stop, instead of the wait_for_slave_to_stop mysqltest command, after a start until command is executed.
-