3488 jonas oreland 2011-05-04 [merge]
ndb - merge 70 to 70-spj
removed:
mysql-test/suite/rpl_ndb/combinations
renamed:
mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result => mysql-test/suite/rpl_ndb/r/rpl_ndb_extra_col_slave.result
mysql-test/suite/rpl_ndb/r/rpl_ndb_extraColMaster.result => mysql-test/suite/rpl_ndb/r/rpl_ndb_extra_col_master.result
mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test => mysql-test/suite/rpl_ndb/t/rpl_ndb_extra_col_slave.test
mysql-test/suite/rpl_ndb/t/rpl_ndb_extraColMaster.test => mysql-test/suite/rpl_ndb/t/rpl_ndb_extra_col_master.test
modified:
mysql-test/mysql-test-run.pl
mysql-test/suite/rpl_ndb/r/rpl_ndb_slave_lsu.result
mysql-test/suite/rpl_ndb/r/rpl_ndb_slave_lsu_anyval.result
mysql-test/suite/rpl_ndb/r/rpl_ndb_ui2.result
mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test
mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_binlog_update.cnf
mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_binlog_update.inc
mysql-test/suite/rpl_ndb/t/rpl_ndb_slave_lsu.test
mysql-test/suite/rpl_ndb/t/rpl_ndb_ui2.test
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.h
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp
storage/ndb/test/run-test/daily-basic-tests.txt
mysql-test/suite/rpl_ndb/t/rpl_ndb_extra_col_slave.test
3487 Ole John Aske 2011-05-02
SPJ: Fixed a regression introduced with recent refactoring of ha_ndbcluster_push.cc:
As we now allow dependencies between (grand-)parents to be added such that all
the dependent parents become (artificial) dependent on each other, we may also
implicit introduce dependencies on outer joined tables.
This is incorrect as it is only inner joined tables which can
sequentially linked wo/ changing the sematics in the SQL statement.
@ sql/abstract_query_plan.cc
Removed a double ';;' terminating a line.
modified:
mysql-test/suite/ndb/r/ndb_join_pushdown.result
mysql-test/suite/ndb/t/ndb_join_pushdown.test
sql/abstract_query_plan.cc
sql/ha_ndbcluster_push.cc
=== modified file 'mysql-test/mysql-test-run.pl'
--- a/mysql-test/mysql-test-run.pl 2011-04-19 09:51:53 +0000
+++ b/mysql-test/mysql-test-run.pl 2011-04-27 06:52:34 +0000
@@ -4554,12 +4554,6 @@ sub mysqld_arguments ($$$) {
# Check if "extra_opt" contains skip-log-bin
my $skip_binlog= grep(/^(--|--loose-)skip-log-bin/, @$extra_opts);
- # Check if this specific mysqld is running without log-bin
- if (not $mysqld->option("log-bin"))
- {
- $skip_binlog = 1;
- }
-
# Indicate to mysqld it will be debugged in debugger
if ( $glob_debugger )
{
=== removed file 'mysql-test/suite/rpl_ndb/combinations'
--- a/mysql-test/suite/rpl_ndb/combinations 2011-04-21 07:53:16 +0000
+++ b/mysql-test/suite/rpl_ndb/combinations 1970-01-01 00:00:00 +0000
@@ -1,5 +0,0 @@
-[row]
-binlog-format=row
-
-[mix]
-binlog-format=mixed
=== renamed file 'mysql-test/suite/rpl_ndb/r/rpl_ndb_extraColMaster.result' => 'mysql-test/suite/rpl_ndb/r/rpl_ndb_extra_col_master.result'
=== renamed file 'mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result' => 'mysql-test/suite/rpl_ndb/r/rpl_ndb_extra_col_slave.result'
=== modified file 'mysql-test/suite/rpl_ndb/r/rpl_ndb_slave_lsu.result'
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_slave_lsu.result 2011-04-08 11:06:53 +0000
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_slave_lsu.result 2011-04-27 06:29:23 +0000
@@ -1,10 +1,16 @@
+include/rpl_init.inc [topology=none]
*** Configuring connections ***
+include/rpl_connect.inc [creating srv_master]
+include/rpl_connect.inc [creating srv_master1]
+include/rpl_connect.inc [creating srv_master2]
+include/rpl_connect.inc [creating srv_slave]
+include/rpl_connect.inc [creating srv_slave1]
+include/rpl_connect.inc [creating srv_slave2]
*** Waiting for each cluster to startup ***
*** Configuring replication via Slave ***
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST="127.0.0.1",MASTER_PORT=MASTER_PORT,MASTER_USER="root";;
-START SLAVE;
-include/wait_for_slave_to_start.inc
+[connection srv_slave]
+include/rpl_change_topology.inc [new topology=1->4]
+include/start_slave.inc
*** Generating slave cluster originated binloggable changes ***
CREATE TABLE bug_45756_slave_logged_1 (a int) engine = NDB;
INSERT INTO bug_45756_slave_logged_1 VALUES (1);
@@ -396,13 +402,11 @@ server id 6 Write_rows:
server id 1 Write_rows: flags: STMT_END_F
server id 6 Query
server id 1 Query
+include/stop_slave.inc
*** Configuring replication via Slave1 ***
-STOP SLAVE;
-include/wait_for_slave_to_stop.inc
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST="127.0.0.1",MASTER_PORT=MASTER_PORT,MASTER_USER="root";
-START SLAVE;
-include/wait_for_slave_to_start.inc
+[connection srv_slave1]
+include/rpl_change_topology.inc [new topology=1->4,1->5]
+include/start_slave.inc
*** Generating slave cluster originated binloggable changes ***
CREATE TABLE bug_45756_slave_logged_1 (a int) engine = NDB;
INSERT INTO bug_45756_slave_logged_1 VALUES (1);
@@ -794,13 +798,11 @@ server id 6 Write_rows:
server id 1 Write_rows: flags: STMT_END_F
server id 6 Query
server id 1 Query
+include/stop_slave.inc
*** Configuring replication via Slave2 ***
-STOP SLAVE;
-include/wait_for_slave_to_stop.inc
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST="127.0.0.1",MASTER_PORT=MASTER_PORT,MASTER_USER="root";;
-START SLAVE;
-include/wait_for_slave_to_start.inc
+[connection srv_slave2]
+include/rpl_change_topology.inc [new topology=1->4,1->5,1->6]
+include/start_slave.inc
*** Generating slave cluster originated binloggable changes ***
CREATE TABLE bug_45756_slave_logged_1 (a int) engine = NDB;
INSERT INTO bug_45756_slave_logged_1 VALUES (1);
@@ -1192,14 +1194,5 @@ server id 6 Write_rows:
server id 1 Write_rows: flags: STMT_END_F
server id 6 Query
server id 1 Query
-"cleanup srv_slave"
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST="";
-"cleanup srv_slave1"
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST="";
-"cleanup srv_slave2"
-STOP SLAVE;
-include/wait_for_slave_to_stop.inc
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST="";
+include/stop_slave.inc
+include/rpl_change_topology.inc [new topology=none]
=== modified file 'mysql-test/suite/rpl_ndb/r/rpl_ndb_slave_lsu_anyval.result'
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_slave_lsu_anyval.result 2011-04-08 11:06:53 +0000
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_slave_lsu_anyval.result 2011-04-27 06:29:23 +0000
@@ -1,10 +1,16 @@
+include/rpl_init.inc [topology=none]
*** Configuring connections ***
+include/rpl_connect.inc [creating srv_master]
+include/rpl_connect.inc [creating srv_master1]
+include/rpl_connect.inc [creating srv_master2]
+include/rpl_connect.inc [creating srv_slave]
+include/rpl_connect.inc [creating srv_slave1]
+include/rpl_connect.inc [creating srv_slave2]
*** Waiting for each cluster to startup ***
*** Configuring replication via Slave ***
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST="127.0.0.1",MASTER_PORT=MASTER_PORT,MASTER_USER="root";;
-START SLAVE;
-include/wait_for_slave_to_start.inc
+[connection srv_slave]
+include/rpl_change_topology.inc [new topology=1->4]
+include/start_slave.inc
*** Generating slave cluster originated binloggable changes ***
CREATE TABLE bug_45756_slave_logged_1 (a int) engine = NDB;
INSERT INTO bug_45756_slave_logged_1 VALUES (1);
@@ -396,13 +402,11 @@ server id 6 Write_rows:
server id 2147483521 Write_rows: flags: STMT_END_F
server id 6 Query
server id 2147483521 Query
+include/stop_slave.inc
*** Configuring replication via Slave1 ***
-STOP SLAVE;
-include/wait_for_slave_to_stop.inc
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST="127.0.0.1",MASTER_PORT=MASTER_PORT,MASTER_USER="root";
-START SLAVE;
-include/wait_for_slave_to_start.inc
+[connection srv_slave1]
+include/rpl_change_topology.inc [new topology=1->4,1->5]
+include/start_slave.inc
*** Generating slave cluster originated binloggable changes ***
CREATE TABLE bug_45756_slave_logged_1 (a int) engine = NDB;
INSERT INTO bug_45756_slave_logged_1 VALUES (1);
@@ -794,13 +798,11 @@ server id 6 Write_rows:
server id 2147483521 Write_rows: flags: STMT_END_F
server id 6 Query
server id 2147483521 Query
+include/stop_slave.inc
*** Configuring replication via Slave2 ***
-STOP SLAVE;
-include/wait_for_slave_to_stop.inc
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST="127.0.0.1",MASTER_PORT=MASTER_PORT,MASTER_USER="root";;
-START SLAVE;
-include/wait_for_slave_to_start.inc
+[connection srv_slave2]
+include/rpl_change_topology.inc [new topology=1->4,1->5,1->6]
+include/start_slave.inc
*** Generating slave cluster originated binloggable changes ***
CREATE TABLE bug_45756_slave_logged_1 (a int) engine = NDB;
INSERT INTO bug_45756_slave_logged_1 VALUES (1);
@@ -1192,14 +1194,5 @@ server id 6 Write_rows:
server id 2147483521 Write_rows: flags: STMT_END_F
server id 6 Query
server id 1 Query
-"cleanup srv_slave"
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST="";
-"cleanup srv_slave1"
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST="";
-"cleanup srv_slave2"
-STOP SLAVE;
-include/wait_for_slave_to_stop.inc
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST="";
+include/stop_slave.inc
+include/rpl_change_topology.inc [new topology=none]
=== modified file 'mysql-test/suite/rpl_ndb/r/rpl_ndb_ui2.result'
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_ui2.result 2011-04-28 07:47:53 +0000
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_ui2.result 2011-05-03 20:40:59 +0000
@@ -4,11 +4,15 @@ CREATE TABLE t1 (pk int primary key, uk
STOP SLAVE;
insert into t1 values (1,1);
insert into t1 values (2,2);
+begin;
insert into t1 values (1,2);
insert into t1 values (2,1);
+commit;
delete from t1;
+begin;
insert into t1 values (1,1);
insert into t1 values (2,2);
+commit;
start slave;
select * from t1;
pk uk
=== renamed file 'mysql-test/suite/rpl_ndb/t/rpl_ndb_extraColMaster.test' => 'mysql-test/suite/rpl_ndb/t/rpl_ndb_extra_col_master.test'
=== renamed file 'mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test' => 'mysql-test/suite/rpl_ndb/t/rpl_ndb_extra_col_slave.test'
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test 2011-04-08 11:06:53 +0000
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_extra_col_slave.test 2011-04-27 08:14:37 +0000
@@ -1,13 +1,6 @@
-###########################################
-# Author: Jeb
-# Date: 2006-09-08
-# Purpose: Wapper for rpl_extraSlave_Col.test
-# Using NDB
-###########################################
--- source include/have_binlog_format_mixed_or_row.inc
+-- source include/have_binlog_format_row.inc
-- source include/have_ndb.inc
-- source suite/rpl_ndb/ndb_master-slave.inc
-let $engine_type = 'NDB';
#
# This is a disgrace...but slave randomly spits out these warnings
@@ -18,7 +11,7 @@ call mtr.add_suppression("Slave: Can't f
call mtr.add_suppression("Slave: Got error 120 during COMMIT Error_code: 1180");
-- enable_query_log
+let $engine_type = 'NDB';
-- source extra/rpl_tests/rpl_extra_col_slave.test
-
--source include/rpl_end.inc
=== modified file 'mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test'
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test 2011-04-08 11:06:53 +0000
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test 2011-04-27 07:59:12 +0000
@@ -2,8 +2,8 @@
# Wrapper for rpl_insert_ignore.test#
#####################################
-- source include/have_ndb.inc
+-- source include/have_binlog_format_row.inc
-- source suite/rpl_ndb/ndb_master-slave.inc
let $engine_type=NDB;
-let $engine_type2=myisam;
-- source extra/rpl_tests/rpl_insert_ignore.test
--source include/rpl_end.inc
=== modified file 'mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_binlog_update.cnf'
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_binlog_update.cnf 2010-01-05 08:55:32 +0000
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_binlog_update.cnf 2011-04-27 06:29:23 +0000
@@ -94,19 +94,10 @@ log-slave-updates
[ENV]
-MASTER_MYPORT= @mysqld.1.1.port
-MASTER_MYPORT1= @mysqld.2.1.port
-MASTER_MYSOCK1= @mysqld.2.1.socket
-MASTER_MYPORT2= @mysqld.3.1.port
-MASTER_MYSOCK2= @mysqld.3.1.socket
-SLAVE_MYPORT= @mysqld.1.slave.port
-SLAVE_MYSOCK= @mysqld.1.slave.socket
-SLAVE_MYPORT1= @mysqld.2.slave.port
-SLAVE_MYSOCK1= @mysqld.2.slave.socket
-SLAVE_MYPORT2= @mysqld.3.slave.port
-SLAVE_MYSOCK2= @mysqld.3.slave.socket
+SERVER_MYPORT_1= @mysqld.1.1.port
+SERVER_MYPORT_2= @mysqld.2.1.port
+SERVER_MYPORT_3= @mysqld.3.1.port
+SERVER_MYPORT_4= @mysqld.1.slave.port
+SERVER_MYPORT_5= @mysqld.2.slave.port
+SERVER_MYPORT_6= @mysqld.3.slave.port
-
-NDB_CONNECTSTRING= @mysql_cluster.1.ndb_connectstring
-NDB_CONNECTSTRING_SLAVE= @mysql_cluster.slave.ndb_connectstring
-NDB_BACKUP_DIR= @cluster_config.ndbd.1.1.BackupDataDir
=== modified file 'mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_binlog_update.inc'
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_binlog_update.inc 2010-07-02 14:48:29 +0000
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_binlog_update.inc 2011-04-27 06:29:23 +0000
@@ -204,3 +204,4 @@ show variables like 'log_slave_updates';
let $BINLOG_FILENAME=slave-master-bin;
--source suite/rpl_ndb/t/rpl_ndb_get_binlog_events.inc
+connection $which_slave;
\ No newline at end of file
=== modified file 'mysql-test/suite/rpl_ndb/t/rpl_ndb_slave_lsu.test'
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_slave_lsu.test 2011-04-08 08:45:01 +0000
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_slave_lsu.test 2011-04-27 06:29:23 +0000
@@ -28,17 +28,38 @@
###############################################################################
# Configuring Environment
###############################################################################
---echo *** Configuring connections ***
-connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
-connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT,);
+# setup _no_ replication to start with, but with all 6 servers included
+--let $rpl_topology= none
+--let $rpl_server_count= 6
+--let $rpl_skip_reset_master_and_slave=1
+--source include/rpl_init.inc
+--let $rpl_skip_reset_master_and_slave=0
-connect (srv_master,127.0.0.1,root,,test,$MASTER_MYPORT,);
-connect (srv_master1,127.0.0.1,root,,test,$MASTER_MYPORT1,);
-connect (srv_master2,127.0.0.1,root,,test,$MASTER_MYPORT2,);
-connect (srv_slave,127.0.0.1,root,,test,$SLAVE_MYPORT,);
-connect (srv_slave1,127.0.0.1,root,,test,$SLAVE_MYPORT1,);
-connect (srv_slave2,127.0.0.1,root,,test,$SLAVE_MYPORT2,);
+--echo *** Configuring connections ***
+--let $rpl_connection_name= srv_master
+--let $rpl_server_number= 1
+--source include/rpl_connect.inc
+
+--let $rpl_connection_name= srv_master1
+--let $rpl_server_number= 2
+--source include/rpl_connect.inc
+
+--let $rpl_connection_name= srv_master2
+--let $rpl_server_number= 3
+--source include/rpl_connect.inc
+
+--let $rpl_connection_name= srv_slave
+--let $rpl_server_number= 4
+--source include/rpl_connect.inc
+
+--let $rpl_connection_name= srv_slave1
+--let $rpl_server_number= 5
+--source include/rpl_connect.inc
+
+--let $rpl_connection_name= srv_slave2
+--let $rpl_server_number= 6
+--source include/rpl_connect.inc
--echo *** Waiting for each cluster to startup ***
@@ -78,7 +99,7 @@ source suite/rpl_ndb/t/rpl_ndb_wait_sche
# Reset state of all Binlogging nodes
--disable_query_log
-connection master;
+connection srv_master;
--disable_warnings
RESET MASTER;
--enable_warnings
@@ -99,30 +120,26 @@ RESET MASTER;
--enable_warnings
--enable_query_log
+
+
--echo *** Configuring replication via Slave ***
-connection slave;
---disable_warnings
-RESET SLAVE;
---replace_result $MASTER_MYPORT MASTER_PORT
---eval CHANGE MASTER TO MASTER_HOST="127.0.0.1",MASTER_PORT=$MASTER_MYPORT,MASTER_USER="root";
-START SLAVE;
-source include/wait_for_slave_to_start.inc;
---enable_warnings
+--let $rpl_connection_name= srv_slave
+--source include/rpl_connection.inc
+
+--let $rpl_topology= 1->4
+--source include/rpl_change_topology.inc
+--source include/start_slave.inc
+
+# Run the test script
--let $which_slave=srv_slave
--source suite/rpl_ndb/t/rpl_ndb_multi_binlog_update.inc
-
---echo *** Configuring replication via Slave1 ***
-connection slave;
---disable_warnings
-STOP SLAVE;
-source include/wait_for_slave_to_stop.inc;
---enable_warnings
+--source include/stop_slave.inc
# Reset state of all Binlogging nodes
--disable_query_log
-connection master;
+connection srv_master;
--disable_warnings
RESET MASTER;
--enable_warnings
@@ -143,29 +160,26 @@ RESET MASTER;
--enable_warnings
--enable_query_log
-connection srv_slave1;
---disable_warnings
-RESET SLAVE;
---replace_result $MASTER_MYPORT MASTER_PORT
---eval CHANGE MASTER TO MASTER_HOST="127.0.0.1",MASTER_PORT=$MASTER_MYPORT,MASTER_USER="root"
-START SLAVE;
-source include/wait_for_slave_to_start.inc;
---enable_warnings
+
+--echo *** Configuring replication via Slave1 ***
+--let $rpl_connection_name= srv_slave1
+--source include/rpl_connection.inc
+
+--let $rpl_topology= 1->4,1->5
+--source include/rpl_change_topology.inc
+
+--source include/start_slave.inc
+
+# Run the test script
--let $which_slave=srv_slave1
--source suite/rpl_ndb/t/rpl_ndb_multi_binlog_update.inc
-
---echo *** Configuring replication via Slave2 ***
-connection srv_slave1;
---disable_warnings
-STOP SLAVE;
-source include/wait_for_slave_to_stop.inc;
---enable_warnings
+--source include/stop_slave.inc
# Reset state of all Binlogging nodes
--disable_query_log
-connection master;
+connection srv_master;
--disable_warnings
RESET MASTER;
--enable_warnings
@@ -186,40 +200,26 @@ RESET MASTER;
--enable_warnings
--enable_query_log
-connection srv_slave2;
---disable_warnings
-RESET SLAVE;
---replace_result $MASTER_MYPORT MASTER_PORT
---eval CHANGE MASTER TO MASTER_HOST="127.0.0.1",MASTER_PORT=$MASTER_MYPORT,MASTER_USER="root";
-START SLAVE;
-source include/wait_for_slave_to_start.inc;
---enable_warnings
+
+--echo *** Configuring replication via Slave2 ***
+--let $rpl_connection_name= srv_slave2
+--source include/rpl_connection.inc
+
+--let $rpl_topology= 1->4,1->5,1->6
+--source include/rpl_change_topology.inc
+
+--source include/start_slave.inc
+
+# Run the test script
--let $which_slave=srv_slave2
--source suite/rpl_ndb/t/rpl_ndb_multi_binlog_update.inc
-##
-#
-# cleanup everything so that "check-testcase" doesn't fail
-# NOTE that if I didn't add the CHANGE MASTER TO MASTER_HOST="";
-# slave seems to still keep some config...
-# i.e that RESET SLAVE doesnt really "take-effect"
-#
-# probably needs investigation
-#
---connection srv_slave
---echo "cleanup srv_slave"
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST="";
-
---connection srv_slave1
---echo "cleanup srv_slave1"
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST="";
-
---connection srv_slave2
---echo "cleanup srv_slave2"
-STOP SLAVE;
-source include/wait_for_slave_to_stop.inc;
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST="";
+--source include/stop_slave.inc
+
+
+
+# Cleanup and reset replication settings to how
+# they where when test started
+--let $rpl_topology= none
+--source include/rpl_change_topology.inc
=== modified file 'mysql-test/suite/rpl_ndb/t/rpl_ndb_ui2.test'
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_ui2.test 2011-04-28 07:47:53 +0000
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_ui2.test 2011-05-03 20:40:59 +0000
@@ -12,13 +12,15 @@ STOP SLAVE;
insert into t1 values (1,1);
insert into t1 values (2,2);
--connection master
+begin;
insert into t1 values (1,2);
insert into t1 values (2,1);
---sleep 1
+commit;
delete from t1;
---sleep 1
+begin;
insert into t1 values (1,1);
insert into t1 values (2,2);
+commit;
--connection slave
start slave;
=== modified file 'sql/ha_ndbcluster.cc'
--- a/sql/ha_ndbcluster.cc 2011-04-29 09:23:56 +0000
+++ b/sql/ha_ndbcluster.cc 2011-05-04 05:33:14 +0000
@@ -4795,7 +4795,7 @@ ha_ndbcluster::get_hidden_fields_scan(Nd
inline void
ha_ndbcluster::eventSetAnyValue(THD *thd,
- NdbOperation::OperationOptions *options)
+ NdbOperation::OperationOptions *options) const
{
options->anyValue= 0;
if (unlikely(m_slow_path))
=== modified file 'sql/ha_ndbcluster.h'
--- a/sql/ha_ndbcluster.h 2011-04-27 08:39:36 +0000
+++ b/sql/ha_ndbcluster.h 2011-05-04 05:33:14 +0000
@@ -781,7 +781,8 @@ private:
NdbOperation::GetValueSpec gets[2]);
void get_hidden_fields_scan(NdbScanOperation::ScanOptions *options,
NdbOperation::GetValueSpec gets[2]);
- void eventSetAnyValue(THD *thd, NdbOperation::OperationOptions *options);
+ void eventSetAnyValue(THD *thd,
+ NdbOperation::OperationOptions *options) const;
bool check_index_fields_in_write_set(uint keyno);
const NdbOperation *pk_unique_index_read_key(uint idx,
=== modified file 'storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp'
--- a/storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp 2011-04-17 18:25:41 +0000
+++ b/storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp 2011-05-04 05:33:14 +0000
@@ -1043,7 +1043,14 @@ void Cmvmi::execCONNECT_REP(Signal *sign
* Inform QMGR that client has connected
*/
signal->theData[0] = hostId;
- sendSignal(QMGR_REF, GSN_CONNECT_REP, signal, 1, JBA);
+ if (ERROR_INSERTED(9005))
+ {
+ sendSignalWithDelay(QMGR_REF, GSN_CONNECT_REP, signal, 50, 1);
+ }
+ else
+ {
+ sendSignal(QMGR_REF, GSN_CONNECT_REP, signal, 1, JBA);
+ }
/* Automatically subscribe events for MGM nodes.
*/
=== modified file 'storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp'
--- a/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp 2011-04-29 09:23:56 +0000
+++ b/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp 2011-05-04 05:33:14 +0000
@@ -8407,7 +8407,7 @@ void Dbtc::execNODE_FAILREP(Signal* sign
Uint32 ok = 1;
for(Uint32 n = c_alive_nodes.find_first();
n != c_alive_nodes.NotFound;
- n = c_alive_nodes.find_next(n))
+ n = c_alive_nodes.find_next(n+1))
{
if (!ndbd_deferred_unique_constraints(getNodeInfo(n).m_version))
{
=== modified file 'storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp'
--- a/storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp 2011-04-17 18:25:41 +0000
+++ b/storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp 2011-05-04 05:33:14 +0000
@@ -42,6 +42,9 @@
#include <signaldata/DihRestart.hpp>
#include <ndb_version.h>
+#include <EventLogger.hpp>
+extern EventLogger * g_eventLogger;
+
//#define DEBUG_QMGR_START
#ifdef DEBUG_QMGR_START
#include <DebuggerNames.hpp>
@@ -745,6 +748,27 @@ void Qmgr::execCM_REGREQ(Signal* signal)
Uint32 start_type = ~0;
NdbNodeBitmask skip_nodes;
+ if (!c_connectedNodes.get(cmRegReq->nodeId))
+ {
+ jam();
+
+ /**
+ * With ndbmtd, there is a race condition such that
+ * CM_REGREQ can arrive prior to CONNECT_REP
+ * since CONNECT_REP is sent from CMVMI
+ *
+ * In such cases, ignore the CM_REGREQ which is safe
+ * as it will anyway be resent by starting node
+ */
+ g_eventLogger->info("discarding CM_REGREQ from %u "
+ "as we're not yet connected (isNdbMt: %u)",
+ cmRegReq->nodeId,
+ (unsigned)isNdbMt());
+
+ ndbrequire(isNdbMt());
+ return;
+ }
+
if (signal->getLength() == CmRegReq::SignalLength)
{
jam();
@@ -2351,8 +2375,6 @@ void Qmgr::execCM_ACKADD(Signal* signal)
* WE HAVE BEEN INCLUDED INTO THE CLUSTER. IT IS NOW TIME TO CALCULATE WHICH
* ARE OUR LEFT AND RIGHT NEIGHBOURS FOR THE HEARTBEAT PROTOCOL.
*--------------------------------------------------------------------------*/
-#include <EventLogger.hpp>
-extern EventLogger * g_eventLogger;
void Qmgr::findNeighbours(Signal* signal, Uint32 from)
{
UintR toldLeftNeighbour;
=== modified file 'storage/ndb/test/run-test/daily-basic-tests.txt'
--- a/storage/ndb/test/run-test/daily-basic-tests.txt 2011-04-29 09:23:56 +0000
+++ b/storage/ndb/test/run-test/daily-basic-tests.txt 2011-05-04 05:33:14 +0000
@@ -20,7 +20,7 @@ max-time: 900
cmd: testIndex
args: -n DeferredMixedLoad T1 T6 T13
-max-time: 900
+max-time: 1800
cmd: testIndex
args: -n DeferredMixedLoadError T1 T6 T13
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-5.1-telco-7.0-spj-scan-vs-scan branch (jonas:3487 to3488) | jonas oreland | 4 May |