Commit 6a51e0f8 authored by tomas@whalegate.ndb.mysql.com's avatar tomas@whalegate.ndb.mysql.com

Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb

into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-rpl
parents 07774f97 f3a72845
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
# Test updated to use a wrapper # # Test updated to use a wrapper #
################################# #################################
-- source include/master-slave.inc
eval CREATE TABLE t1 (a INT) ENGINE=$engine_type; eval CREATE TABLE t1 (a INT) ENGINE=$engine_type;
begin; begin;
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
# (not internally row-per-row but more like a TRUNCATE, MyISAM # (not internally row-per-row but more like a TRUNCATE, MyISAM
# supports that), is replicated (BUG#13576). # supports that), is replicated (BUG#13576).
-- source include/master-slave.inc
eval create table t1 (a int, b int) engine=$engine_type; eval create table t1 (a int, b int) engine=$engine_type;
insert into t1 values(1,1); insert into t1 values(1,1);
sync_slave_with_master; sync_slave_with_master;
......
...@@ -5,8 +5,6 @@ ...@@ -5,8 +5,6 @@
# Slave needs to be started with --innodb to store table in InnoDB. # Slave needs to be started with --innodb to store table in InnoDB.
# Same test for MyISAM (which had no bug). # Same test for MyISAM (which had no bug).
-- source include/master-slave.inc
eval CREATE TABLE t1 ( eval CREATE TABLE t1 (
a int unsigned not null auto_increment primary key, a int unsigned not null auto_increment primary key,
b int unsigned, b int unsigned,
......
# Requires statement logging # Requires statement logging
-- source include/master-slave.inc
# Clean up old slave's binlogs. # Clean up old slave's binlogs.
# The slave is started with --log-slave-updates # The slave is started with --log-slave-updates
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
# some replicate-* rules exist. # some replicate-* rules exist.
# (BUG#7011) # (BUG#7011)
source include/master-slave.inc;
--disable_warnings --disable_warnings
drop table if exists t1,t2; drop table if exists t1,t2;
--enable_warnings --enable_warnings
......
-- source include/master-slave.inc
############################################################################## ##############################################################################
# #
# Let's verify that multi-update with a subselect does not cause the slave to crash # Let's verify that multi-update with a subselect does not cause the slave to crash
......
...@@ -8,8 +8,6 @@ ...@@ -8,8 +8,6 @@
# The slave is started with max_binlog_size=16384 bytes, # The slave is started with max_binlog_size=16384 bytes,
# to force many rotations (approximately 30 rotations) # to force many rotations (approximately 30 rotations)
-- source include/master-slave.inc
# We have to sync with master, to ensure slave had time to start properly # We have to sync with master, to ensure slave had time to start properly
# before we stop it. If not, we get errors about UNIX_TIMESTAMP() in the log. # before we stop it. If not, we get errors about UNIX_TIMESTAMP() in the log.
connection master; connection master;
......
-- source include/master-slave.inc
-- source include/have_binlog_format_row.inc
CREATE TABLE t1 (word CHAR(20) NOT NULL); CREATE TABLE t1 (word CHAR(20) NOT NULL);
LOAD DATA INFILE '../std_data_ln/words.dat' INTO TABLE t1; LOAD DATA INFILE '../std_data_ln/words.dat' INTO TABLE t1;
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
......
...@@ -5,10 +5,6 @@ ...@@ -5,10 +5,6 @@
# TEST: To test the UUID() in rbr # # TEST: To test the UUID() in rbr #
############################################################################# #############################################################################
# Includes
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
# Begin clean up test section # Begin clean up test section
connection master; connection master;
......
--source include/have_binlog_format_row.inc
--source include/master-slave.inc
# #
# Basic tests of row-level logging # Basic tests of row-level logging
# #
......
...@@ -5,10 +5,6 @@ ...@@ -5,10 +5,6 @@
# correctly. # correctly.
################################################ ################################################
# Includes
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
# Pre test clean up section # Pre test clean up section
connection master; connection master;
--disable_warnings --disable_warnings
......
# Replication of character sets. # Replication of character sets.
# This test will fail if the server/client does not support enough charsets. # This test will fail if the server/client does not support enough charsets.
# Requires statement logging
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
--disable_warnings --disable_warnings
set timestamp=1000000000; set timestamp=1000000000;
drop database if exists mysqltest2; drop database if exists mysqltest2;
......
...@@ -18,11 +18,6 @@ ...@@ -18,11 +18,6 @@
# Vs slave. # # Vs slave. #
############################################################################# #############################################################################
# Includes
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
# Begin clean up test section # Begin clean up test section
connection master; connection master;
--disable_warnings --disable_warnings
......
...@@ -3,11 +3,6 @@ ...@@ -3,11 +3,6 @@
# Original Date: Aug/13/2005 Created from Bug 12335 # # Original Date: Aug/13/2005 Created from Bug 12335 #
############################################################################# #############################################################################
# Includes
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
# Begin clean up test section # Begin clean up test section
connection master; connection master;
--disable_warnings --disable_warnings
......
...@@ -8,10 +8,6 @@ ...@@ -8,10 +8,6 @@
# to populate a table with data from the first table. # # to populate a table with data from the first table. #
############################################################################# #############################################################################
# Includes
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
# Begin clean up test section # Begin clean up test section
connection master; connection master;
--disable_warnings --disable_warnings
......
...@@ -11,6 +11,7 @@ drop table if exists t1, t2; ...@@ -11,6 +11,7 @@ drop table if exists t1, t2;
flush tables; flush tables;
--require r/true.require --require r/true.require
select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'ndbcluster'; select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'ndbcluster';
--source include/ndb_not_readonly.inc
enable_query_log; enable_query_log;
# Check that server2 has NDB support # Check that server2 has NDB support
...@@ -22,11 +23,8 @@ drop table if exists t1, t2; ...@@ -22,11 +23,8 @@ drop table if exists t1, t2;
flush tables; flush tables;
--require r/true.require --require r/true.require
select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'ndbcluster'; select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'ndbcluster';
--source include/ndb_not_readonly.inc
enable_query_log; enable_query_log;
# Check should be here as well...
# # Check that second master mysqld has come out of redonly mode
# --source include/ndb_not_readonly.inc
# Set the default connection to 'server1' # Set the default connection to 'server1'
connection server1; connection server1;
...@@ -2,8 +2,5 @@ ...@@ -2,8 +2,5 @@
disable_query_log; disable_query_log;
--require r/true.require --require r/true.require
select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'ndbcluster'; select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'ndbcluster';
--source include/ndb_not_readonly.inc
enable_query_log; enable_query_log;
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
connect (master1,127.0.0.1,root,,test,$MASTER_MYPORT,);
connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT,);
connect (slave1,127.0.0.1,root,,test,$SLAVE_MYPORT,);
connection slave;
-- source include/have_ndb.inc
-- source include/master-slave-reset.inc
# Set the default connection to 'master'
connection master;
# Check that server has come out ot readonly mode # Check that server has come out ot readonly mode
--disable_query_log #
let $counter= 100; # wait for server to connect properly to cluster
#
--error 0,ER_NO_SUCH_TABLE,ER_OPEN_AS_READONLY,ER_GET_ERRMSG,ER_KEY_NOT_FOUND
delete from mysql.ndb_apply_status where server_id=0;
let $mysql_errno= 1; let $mysql_errno= 1;
let $counter= 600;
while ($mysql_errno) while ($mysql_errno)
{ {
--error 0, 1005 # Table is readonly until the mysqld has connected properly
create table check_read_only(a int) engine=NDB; --error 0,ER_NO_SUCH_TABLE,ER_OPEN_AS_READONLY,ER_GET_ERRMSG
sleep 0.1; replace into mysql.ndb_apply_status values(0,0,"",0,0);
if (!$counter) if ($mysql_errno)
{ {
die("Failed while waiting for mysqld to come out of readonly mode"); if (!$counter)
{
die("Failed while waiting for mysqld to come out of readonly mode");
}
dec $counter;
--sleep 0.1
} }
dec $counter;
} }
delete from mysql.ndb_apply_status where server_id=0;
let $counter= 100; #
let $mysql_errno= 1; # connected
while ($mysql_errno) #
{
--error 0, 1036
insert into check_read_only values(1);
sleep 0.1;
if (!$counter)
{
die("Failed while waiting for mysqld to come out of readonly mode");
}
dec $counter;
}
drop table check_read_only;
--enable_query_log
...@@ -7,5 +7,6 @@ ...@@ -7,5 +7,6 @@
######################################################## ########################################################
-- source include/not_ndb_default.inc -- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
-- source include/master-slave.inc
let $engine_type=innodb; let $engine_type=innodb;
-- source extra/rpl_tests/rpl_commit_after_flush.test -- source extra/rpl_tests/rpl_commit_after_flush.test
...@@ -2,5 +2,6 @@ ...@@ -2,5 +2,6 @@
# By JBM 2006-02-14 added to skip test when NDB # # By JBM 2006-02-14 added to skip test when NDB #
################################################## ##################################################
-- source include/not_ndb_default.inc -- source include/not_ndb_default.inc
-- source include/master-slave.inc
let $engine_type=myisam; let $engine_type=myisam;
-- source extra/rpl_tests/rpl_delete_no_where.test -- source extra/rpl_tests/rpl_delete_no_where.test
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
##################################### #####################################
-- source include/not_ndb_default.inc -- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
-- source include/master-slave.inc
let $engine_type=innodb; let $engine_type=innodb;
let $engine_type2=myisam; let $engine_type2=myisam;
-- source extra/rpl_tests/rpl_insert_ignore.test -- source extra/rpl_tests/rpl_insert_ignore.test
...@@ -5,5 +5,6 @@ ...@@ -5,5 +5,6 @@
# Default engine. # # Default engine. #
####################################################### #######################################################
--source include/not_ndb_default.inc --source include/not_ndb_default.inc
--source include/master-slave.inc
let $engine_type=MyISAM; let $engine_type=MyISAM;
--source extra/rpl_tests/rpl_multi_update2.test --source extra/rpl_tests/rpl_multi_update2.test
...@@ -5,5 +5,6 @@ ...@@ -5,5 +5,6 @@
# Default engine. # # Default engine. #
####################################################### #######################################################
--source include/not_ndb_default.inc --source include/not_ndb_default.inc
--source include/master-slave.inc
let $engine_type=MyISAM; let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_multi_update3.test -- source extra/rpl_tests/rpl_multi_update3.test
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
# test and to have control over the tests. # test and to have control over the tests.
############################################################## ##############################################################
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/master-slave.inc -- source include/ndb_master-slave.inc
connection slave; connection slave;
-- source include/have_innodb.inc -- source include/have_innodb.inc
connection master; connection master;
......
...@@ -8,6 +8,6 @@ ...@@ -8,6 +8,6 @@
# test and to have control over the tests. # test and to have control over the tests.
############################################################## ##############################################################
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/master-slave.inc -- source include/ndb_master-slave.inc
SET storage_engine=ndb; SET storage_engine=ndb;
--source extra/rpl_tests/rpl_ndb_2multi_eng.test --source extra/rpl_tests/rpl_ndb_2multi_eng.test
...@@ -2,5 +2,7 @@ ...@@ -2,5 +2,7 @@
# By JBM 2005-02-15 Wrapped to allow reuse of test code# # By JBM 2005-02-15 Wrapped to allow reuse of test code#
######################################################## ########################################################
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/have_binlog_format_row.inc
--source include/ndb_master-slave.inc
let $engine_type=NDB; let $engine_type=NDB;
--source extra/rpl_tests/rpl_row_UUID.test --source extra/rpl_tests/rpl_row_UUID.test
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
# Change: Augmented test to use with cluster # Change: Augmented test to use with cluster
##################################### #####################################
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/master-slave.inc
--source include/have_binlog_format_mixed_or_row.inc --source include/have_binlog_format_mixed_or_row.inc
--source include/ndb_master-slave.inc
--echo ***************** Test 1 ************************ --echo ***************** Test 1 ************************
--echo --echo
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/have_ndb_extra.inc --source include/have_ndb_extra.inc
--source include/have_binlog_format_row.inc --source include/have_binlog_format_row.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
# kill any trailing processes # kill any trailing processes
--system killall lt-bankTransactionMaker lt-bankTimer lt-bankMakeGL || true --system killall lt-bankTransactionMaker lt-bankTimer lt-bankMakeGL || true
......
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/have_binlog_format_row.inc --source include/have_binlog_format_row.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
......
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/have_binlog_format_row.inc --source include/have_binlog_format_row.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
# #
# basic test of blob replication for NDB # basic test of blob replication for NDB
......
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
# code between engine tests # # code between engine tests #
################################# #################################
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/have_binlog_format_row.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDBCLUSTER; let $engine_type=NDBCLUSTER;
-- source extra/rpl_tests/rpl_row_blob.test -- source extra/rpl_tests/rpl_row_blob.test
...@@ -2,5 +2,7 @@ ...@@ -2,5 +2,7 @@
# By JBM 2005-02-15 Wrapped to allow reuse of test code# # By JBM 2005-02-15 Wrapped to allow reuse of test code#
######################################################## ########################################################
--source include/have_ndb.inc --source include/have_ndb.inc
-- source include/have_binlog_format_row.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDB; let $engine_type=NDB;
-- source extra/rpl_tests/rpl_row_charset.test -- source extra/rpl_tests/rpl_row_charset.test
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/have_binlog_format_row.inc --source include/have_binlog_format_row.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
# set up circular replication # set up circular replication
......
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/have_binlog_format_row.inc --source include/have_binlog_format_row.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
connection master; connection master;
CREATE TABLE t1 (a int key, b int) ENGINE=NDB; CREATE TABLE t1 (a int key, b int) ENGINE=NDB;
......
...@@ -6,5 +6,6 @@ ...@@ -6,5 +6,6 @@
##################################### #####################################
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDB; let $engine_type=NDB;
-- source extra/rpl_tests/rpl_commit_after_flush.test -- source extra/rpl_tests/rpl_commit_after_flush.test
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
--source include/not_embedded.inc --source include/not_embedded.inc
--source include/big_test.inc --source include/big_test.inc
#--source include/have_ndb_extra.inc #--source include/have_ndb_extra.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
#### Test start cleanup section ##### #### Test start cleanup section #####
--disable_warnings --disable_warnings
......
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/have_binlog_format_row.inc --source include/have_binlog_format_row.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
--disable_warnings --disable_warnings
DROP TABLE IF EXISTS t1; DROP TABLE IF EXISTS t1;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/have_binlog_format_row.inc --source include/have_binlog_format_row.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
--echo --- Doing pre test cleanup --- --echo --- Doing pre test cleanup ---
......
...@@ -23,9 +23,9 @@ ...@@ -23,9 +23,9 @@
# abort of the test case etc.. # abort of the test case etc..
# #
--source include/master-slave.inc
--source include/have_binlog_format_row.inc
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/have_binlog_format_row.inc
--source include/ndb_master-slave.inc
let $engine_type= NDB; let $engine_type= NDB;
let $temp_engine_type= MEMORY; let $temp_engine_type= MEMORY;
let $show_binlog = 0; let $show_binlog = 0;
......
...@@ -4,5 +4,6 @@ ...@@ -4,5 +4,6 @@
######################################### #########################################
--source include/have_ndb.inc --source include/have_ndb.inc
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDB; let $engine_type=NDB;
-- source extra/rpl_tests/rpl_delete_no_where.test -- source extra/rpl_tests/rpl_delete_no_where.test
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/have_binlog_format_row.inc --source include/have_binlog_format_row.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
--disable_warnings --disable_warnings
DROP DATABASE IF EXISTS replica; DROP DATABASE IF EXISTS replica;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/have_binlog_format_row.inc --source include/have_binlog_format_row.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
--disable_warnings --disable_warnings
DROP TABLE IF EXISTS t1, t2; DROP TABLE IF EXISTS t1, t2;
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
# Using NDB # Using NDB
########################################### ###########################################
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
--source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/master-slave.inc -- source include/ndb_master-slave.inc
let $engine_type = 'NDB'; let $engine_type = 'NDB';
-- source extra/rpl_tests/rpl_extraSlave_Col.test -- source extra/rpl_tests/rpl_extraSlave_Col.test
......
...@@ -7,6 +7,8 @@ ...@@ -7,6 +7,8 @@
# reduce test case code # # reduce test case code #
################################### ###################################
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/have_binlog_format_row.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDB; let $engine_type=NDB;
-- source extra/rpl_tests/rpl_row_func003.test -- source extra/rpl_tests/rpl_row_func003.test
-- source include/master-slave-end.inc -- source include/master-slave-end.inc
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/have_binlog_format_row.inc --source include/have_binlog_format_row.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
# #
# Currently test only works with ndb since it retrieves "old" # Currently test only works with ndb since it retrieves "old"
......
...@@ -7,10 +7,8 @@ ...@@ -7,10 +7,8 @@
# to be able to use the same code for all these different # to be able to use the same code for all these different
# test and to have control over the tests. # test and to have control over the tests.
############################################################## ##############################################################
-- source include/have_innodb.inc
-- source include/master-slave.inc
connection slave;
-- source include/have_ndb.inc -- source include/have_ndb.inc
connection master; -- source include/have_innodb.inc
-- source include/ndb_master-slave.inc
SET storage_engine=innodb; SET storage_engine=innodb;
--source extra/rpl_tests/rpl_ndb_2multi_eng.test --source extra/rpl_tests/rpl_ndb_2multi_eng.test
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
-- source include/master-slave.inc
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
-- source include/ndb_master-slave.inc
create table t1 (a int, unique(a)) engine=ndbcluster; create table t1 (a int, unique(a)) engine=ndbcluster;
create table t2 (a int, unique(a)) engine=innodb; create table t2 (a int, unique(a)) engine=innodb;
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
##################################### #####################################
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDB; let $engine_type=NDB;
let $engine_type2=myisam; let $engine_type2=myisam;
-- source extra/rpl_tests/rpl_insert_ignore.test -- source extra/rpl_tests/rpl_insert_ignore.test
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/have_ndb_extra.inc --source include/have_ndb_extra.inc
--source include/have_binlog_format_row.inc --source include/have_binlog_format_row.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
--disable_warnings --disable_warnings
# reset master # reset master
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
################################### ###################################
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDB; let $engine_type=NDB;
-- source extra/rpl_tests/rpl_log.test -- source extra/rpl_tests/rpl_log.test
--source include/have_ndb.inc
--source include/have_multi_ndb.inc --source include/have_multi_ndb.inc
--source include/have_binlog_format_row.inc --source include/have_binlog_format_row.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
# note: server2 is another "master" connected to the master cluster # note: server2 is another "master" connected to the master cluster
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
# Run this only for row based replication, as replication of # Run this only for row based replication, as replication of
# auto_increment values are not supported with NDB as storage engine # auto_increment values are not supported with NDB as storage engine
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDB; let $engine_type=NDB;
--source extra/rpl_tests/rpl_multi_update2.test --source extra/rpl_tests/rpl_multi_update2.test
...@@ -4,5 +4,6 @@ ...@@ -4,5 +4,6 @@
############################################################ ############################################################
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDB; let $engine_type=NDB;
-- source extra/rpl_tests/rpl_multi_update3.test -- source extra/rpl_tests/rpl_multi_update3.test
...@@ -7,9 +7,6 @@ ...@@ -7,9 +7,6 @@
# to be able to use the same code for all these different # to be able to use the same code for all these different
# test and to have control over the tests. # test and to have control over the tests.
############################################################## ##############################################################
-- source include/master-slave.inc -- source include/ndb_master-slave.inc
connection slave;
--source include/have_ndb.inc
connection master;
SET storage_engine=myisam; SET storage_engine=myisam;
--source extra/rpl_tests/rpl_ndb_2multi_eng.test --source extra/rpl_tests/rpl_ndb_2multi_eng.test
...@@ -4,5 +4,6 @@ ...@@ -4,5 +4,6 @@
############################################################ ############################################################
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/have_ndb_extra.inc -- source include/have_ndb_extra.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDB; let $engine_type=NDB;
-- source extra/rpl_tests/rpl_relayrotate.test -- source extra/rpl_tests/rpl_relayrotate.test
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/have_binlog_format_row.inc --source include/have_binlog_format_row.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
--disable_warnings --disable_warnings
DROP DATABASE IF EXISTS replica; DROP DATABASE IF EXISTS replica;
......
...@@ -2,5 +2,7 @@ ...@@ -2,5 +2,7 @@
# By JBM 2005-02-15 Wrapped to allow reuse of test code# # By JBM 2005-02-15 Wrapped to allow reuse of test code#
######################################################## ########################################################
--source include/have_ndb.inc --source include/have_ndb.inc
-- source include/have_binlog_format_row.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDB; let $engine_type=NDB;
-- source extra/rpl_tests/rpl_row_001.test -- source extra/rpl_tests/rpl_row_001.test
...@@ -5,5 +5,7 @@ ...@@ -5,5 +5,7 @@
# For different engines # # For different engines #
################################# #################################
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/have_binlog_format_row.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDBCLUSTER; let $engine_type=NDBCLUSTER;
-- source extra/rpl_tests/rpl_row_sp003.test -- source extra/rpl_tests/rpl_row_sp003.test
...@@ -5,5 +5,7 @@ ...@@ -5,5 +5,7 @@
# For different engines # # For different engines #
################################# #################################
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/have_binlog_format_row.inc
-- source include/ndb_master-slave.inc
let $engine_type=NDBCLUSTER; let $engine_type=NDBCLUSTER;
-- source extra/rpl_tests/rpl_row_sp006.test -- source extra/rpl_tests/rpl_row_sp006.test
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/have_binlog_format_mixed_or_statement.inc --source include/have_binlog_format_mixed_or_statement.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
--connection master --connection master
create table t1 (a int key, b int) engine innodb; create table t1 (a int key, b int) engine innodb;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
--source include/ndb_default_cluster.inc --source include/ndb_default_cluster.inc
--source include/not_embedded.inc --source include/not_embedded.inc
--source include/have_binlog_format_row.inc --source include/have_binlog_format_row.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
# #
# Currently test only works with ndb since it retrieves "old" # Currently test only works with ndb since it retrieves "old"
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
# Includes # Includes
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/master-slave.inc -- source include/ndb_master-slave.inc
let $engine_type=NDB; let $engine_type=NDB;
-- source extra/rpl_tests/rpl_trig004.test -- source extra/rpl_tests/rpl_trig004.test
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
-- source include/have_ndbapi_examples.inc -- source include/have_ndbapi_examples.inc
-- source include/ndb_master-slave.inc
--exec echo Running ndbapi_simple_dual --exec echo Running ndbapi_simple_dual
--exec $NDB_EXAMPLES_DIR/ndbapi_simple_dual/ndbapi_simple_dual $MASTER_MYSOCK "localhost:$NDBCLUSTER_PORT" $SLAVE_MYSOCK "localhost:$NDBCLUSTER_PORT_SLAVE" >> $NDB_EXAMPLES_OUTPUT --exec $NDB_EXAMPLES_DIR/ndbapi_simple_dual/ndbapi_simple_dual $MASTER_MYSOCK "localhost:$NDBCLUSTER_PORT" $SLAVE_MYSOCK "localhost:$NDBCLUSTER_PORT_SLAVE" >> $NDB_EXAMPLES_OUTPUT
......
...@@ -6,5 +6,6 @@ ...@@ -6,5 +6,6 @@
####################################################### #######################################################
-- source include/not_ndb_default.inc -- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
-- source include/master-slave.inc
let $engine_type=innodb; let $engine_type=innodb;
-- source extra/rpl_tests/rpl_relayrotate.test -- source extra/rpl_tests/rpl_relayrotate.test
...@@ -3,5 +3,7 @@ ...@@ -3,5 +3,7 @@
# Added to skip if ndb is default # # Added to skip if ndb is default #
######################################################## ########################################################
-- source include/not_ndb_default.inc -- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
let $engine_type=MYISAM; let $engine_type=MYISAM;
-- source extra/rpl_tests/rpl_row_001.test -- source extra/rpl_tests/rpl_row_001.test
...@@ -3,5 +3,7 @@ ...@@ -3,5 +3,7 @@
# Added to skip if ndb is default # # Added to skip if ndb is default #
######################################################## ########################################################
-- source include/not_ndb_default.inc -- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
let $engine_type=myisam; let $engine_type=myisam;
--source extra/rpl_tests/rpl_row_UUID.test --source extra/rpl_tests/rpl_row_UUID.test
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
let $type= 'MYISAM' ; let $type= 'MYISAM' ;
let $extra_index= ; let $extra_index= ;
-- source extra/rpl_tests/rpl_row_basic.test -- source extra/rpl_tests/rpl_row_basic.test
-- source include/have_innodb.inc -- source include/have_innodb.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
let $type= 'INNODB' ; let $type= 'INNODB' ;
let $extra_index= ; let $extra_index= ;
......
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/have_binlog_format_row.inc
-- source include/ndb_master-slave.inc
let $type= 'NDB' ; let $type= 'NDB' ;
let $extra_index= ; let $extra_index= ;
-- source extra/rpl_tests/rpl_row_basic.test -- source extra/rpl_tests/rpl_row_basic.test
......
...@@ -7,6 +7,8 @@ ...@@ -7,6 +7,8 @@
######################################################## ########################################################
-- source include/not_ndb_default.inc -- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
let $engine_type=InnoDB; let $engine_type=InnoDB;
-- source extra/rpl_tests/rpl_row_blob.test -- source extra/rpl_tests/rpl_row_blob.test
...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
# Added to skip if ndb is default # # Added to skip if ndb is default #
######################################################## ########################################################
-- source include/not_ndb_default.inc -- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
let $engine_type=myisam; let $engine_type=myisam;
-- source extra/rpl_tests/rpl_row_blob.test -- source extra/rpl_tests/rpl_row_blob.test
...@@ -3,5 +3,7 @@ ...@@ -3,5 +3,7 @@
# Added to skip if ndb is default # # Added to skip if ndb is default #
######################################################## ########################################################
-- source include/not_ndb_default.inc -- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
let $engine_type=myisam; let $engine_type=myisam;
-- source extra/rpl_tests/rpl_row_charset.test -- source extra/rpl_tests/rpl_row_charset.test
...@@ -7,5 +7,7 @@ ...@@ -7,5 +7,7 @@
######################################################## ########################################################
-- source include/not_ndb_default.inc -- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
let $engine_type=INNODB; let $engine_type=INNODB;
-- source extra/rpl_tests/rpl_row_func003.test -- source extra/rpl_tests/rpl_row_func003.test
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
######################################################## ########################################################
-- source include/not_ndb_default.inc -- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
let $engine_type=MyISAM; let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_log.test -- source extra/rpl_tests/rpl_log.test
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
-- source include/not_ndb_default.inc -- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
-- source include/master-slave.inc
let $engine_type=InnoDB; let $engine_type=InnoDB;
-- source extra/rpl_tests/rpl_log.test -- source extra/rpl_tests/rpl_log.test
...@@ -7,5 +7,7 @@ ...@@ -7,5 +7,7 @@
######################################################## ########################################################
-- source include/not_ndb_default.inc -- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
let $engine_type=INNODB; let $engine_type=INNODB;
-- source extra/rpl_tests/rpl_row_sp003.test -- source extra/rpl_tests/rpl_row_sp003.test
...@@ -7,5 +7,7 @@ ...@@ -7,5 +7,7 @@
######################################################## ########################################################
-- source include/not_ndb_default.inc -- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
let $engine_type=InnoDB; let $engine_type=InnoDB;
-- source extra/rpl_tests/rpl_row_sp006.test -- source extra/rpl_tests/rpl_row_sp006.test
# Requires statement logging # Requires statement logging
-- source include/have_binlog_format_mixed_or_statement.inc -- source include/have_binlog_format_mixed_or_statement.inc
-- source include/master-slave.inc
let $engine_type=MyISAM; let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_log.test -- source extra/rpl_tests/rpl_log.test
......
--source include/have_ndb.inc --source include/have_ndb.inc
--source include/master-slave.inc --source include/ndb_master-slave.inc
--source include/have_binlog_format_mixed_or_row.inc --source include/have_binlog_format_mixed_or_row.inc
--disable_query_log --disable_query_log
......
...@@ -776,7 +776,7 @@ static int ndbcluster_create_ndb_apply_status_table(THD *thd) ...@@ -776,7 +776,7 @@ static int ndbcluster_create_ndb_apply_status_table(THD *thd)
" end_pos BIGINT UNSIGNED NOT NULL, " " end_pos BIGINT UNSIGNED NOT NULL, "
" PRIMARY KEY USING HASH (server_id) ) ENGINE=NDB"); " PRIMARY KEY USING HASH (server_id) ) ENGINE=NDB");
const int no_print_error[2]= {701, 0}; // do not print error 701 const int no_print_error[3]= {701, 4009, 0}; // do not print error 701 etc
run_query(thd, buf, end, no_print_error, TRUE); run_query(thd, buf, end, no_print_error, TRUE);
DBUG_RETURN(0); DBUG_RETURN(0);
...@@ -833,7 +833,7 @@ static int ndbcluster_create_schema_table(THD *thd) ...@@ -833,7 +833,7 @@ static int ndbcluster_create_schema_table(THD *thd)
" type INT UNSIGNED NOT NULL," " type INT UNSIGNED NOT NULL,"
" PRIMARY KEY USING HASH (db,name) ) ENGINE=NDB"); " PRIMARY KEY USING HASH (db,name) ) ENGINE=NDB");
const int no_print_error[2]= {701, 0}; // do not print error 701 const int no_print_error[3]= {701, 4009, 0}; // do not print error 701 etc
run_query(thd, buf, end, no_print_error, TRUE); run_query(thd, buf, end, no_print_error, TRUE);
DBUG_RETURN(0); DBUG_RETURN(0);
......
...@@ -5,7 +5,7 @@ Next DBACC 3002 ...@@ -5,7 +5,7 @@ Next DBACC 3002
Next DBTUP 4029 Next DBTUP 4029
Next DBLQH 5045 Next DBLQH 5045
Next DBDICT 6007 Next DBDICT 6007
Next DBDIH 7183 Next DBDIH 7184
Next DBTC 8040 Next DBTC 8040
Next CMVMI 9000 Next CMVMI 9000
Next BACKUP 10038 Next BACKUP 10038
...@@ -75,6 +75,8 @@ Delay GCP_SAVEREQ by 10 secs ...@@ -75,6 +75,8 @@ Delay GCP_SAVEREQ by 10 secs
7180: Crash master during master-take-over in execMASTER_LCPCONF 7180: Crash master during master-take-over in execMASTER_LCPCONF
7183: Crash when receiving COPY_GCIREQ
ERROR CODES FOR TESTING NODE FAILURE, LOCAL CHECKPOINT HANDLING: ERROR CODES FOR TESTING NODE FAILURE, LOCAL CHECKPOINT HANDLING:
----------------------------------------------------------------- -----------------------------------------------------------------
......
...@@ -747,6 +747,8 @@ done: ...@@ -747,6 +747,8 @@ done:
} }
ndbrequire(ok); ndbrequire(ok);
CRASH_INSERTION(7183);
/* ----------------------------------------------------------------------- */ /* ----------------------------------------------------------------------- */
/* WE START BY TRYING TO OPEN THE FIRST RESTORABLE GCI FILE. */ /* WE START BY TRYING TO OPEN THE FIRST RESTORABLE GCI FILE. */
/* ----------------------------------------------------------------------- */ /* ----------------------------------------------------------------------- */
...@@ -1230,6 +1232,17 @@ void Dbdih::execDIH_RESTARTREQ(Signal* signal) ...@@ -1230,6 +1232,17 @@ void Dbdih::execDIH_RESTARTREQ(Signal* signal)
Uint32 ng = Sysfile::getNodeGroup(i, SYSFILE->nodeGroups); Uint32 ng = Sysfile::getNodeGroup(i, SYSFILE->nodeGroups);
ndbrequire(ng < MAX_NDB_NODES); ndbrequire(ng < MAX_NDB_NODES);
Uint32 gci = node_gcis[i]; Uint32 gci = node_gcis[i];
if (gci < SYSFILE->lastCompletedGCI[i])
{
jam();
/**
* Handle case, where *I* know that node complete GCI
* but node does not...bug#29167
* i.e node died before it wrote own sysfile
*/
gci = SYSFILE->lastCompletedGCI[i];
}
if (gci > node_group_gcis[ng]) if (gci > node_group_gcis[ng])
{ {
jam(); jam();
......
...@@ -1869,6 +1869,11 @@ Pgman::free_data_file(Uint32 file_no, Uint32 fd) ...@@ -1869,6 +1869,11 @@ Pgman::free_data_file(Uint32 file_no, Uint32 fd)
int int
Pgman::drop_page(Ptr<Page_entry> ptr) Pgman::drop_page(Ptr<Page_entry> ptr)
{ {
#ifdef VM_TRACE
debugOut << "PGMAN: drop_page" << endl;
debugOut << "PGMAN: " << ptr << endl;
#endif
Page_stack& pl_stack = m_page_stack; Page_stack& pl_stack = m_page_stack;
Page_queue& pl_queue = m_page_queue; Page_queue& pl_queue = m_page_queue;
...@@ -1881,8 +1886,14 @@ Pgman::drop_page(Ptr<Page_entry> ptr) ...@@ -1881,8 +1886,14 @@ Pgman::drop_page(Ptr<Page_entry> ptr)
if (state & Page_entry::ONSTACK) if (state & Page_entry::ONSTACK)
{ {
jam(); jam();
bool at_bottom = ! pl_stack.hasPrev(ptr);
pl_stack.remove(ptr); pl_stack.remove(ptr);
state &= ~ Page_entry::ONSTACK; state &= ~ Page_entry::ONSTACK;
if (at_bottom && (state & Page_entry::HOT))
{
jam();
lirs_stack_prune();
}
} }
if (state & Page_entry::ONQUEUE) if (state & Page_entry::ONQUEUE)
...@@ -2296,6 +2307,13 @@ operator<<(NdbOut& out, Ptr<Pgman::Page_entry> ptr) ...@@ -2296,6 +2307,13 @@ operator<<(NdbOut& out, Ptr<Pgman::Page_entry> ptr)
out << " lsn=" << dec << pe.m_lsn; out << " lsn=" << dec << pe.m_lsn;
out << " busy_count=" << dec << pe.m_busy_count; out << " busy_count=" << dec << pe.m_busy_count;
#ifdef VM_TRACE #ifdef VM_TRACE
{
Pgman::Page_stack& pl_stack = pe.m_this->m_page_stack;
if (! pl_stack.hasNext(ptr))
out << " top";
if (! pl_stack.hasPrev(ptr))
out << " bottom";
}
{ {
Pgman::Local_page_request_list Pgman::Local_page_request_list
req_list(ptr.p->m_this->m_page_request_pool, ptr.p->m_requests); req_list(ptr.p->m_this->m_page_request_pool, ptr.p->m_requests);
......
...@@ -1219,6 +1219,48 @@ runBug24664(NDBT_Context* ctx, NDBT_Step* step) ...@@ -1219,6 +1219,48 @@ runBug24664(NDBT_Context* ctx, NDBT_Step* step)
return result; return result;
} }
int
runBug29167(NDBT_Context* ctx, NDBT_Step* step)
{
int result = NDBT_OK;
NdbRestarter restarter;
Ndb* pNdb = GETNDB(step);
const Uint32 nodeCount = restarter.getNumDbNodes();
if (nodeCount < 2)
return NDBT_OK;
int filter[] = { 15, NDB_MGM_EVENT_CATEGORY_CHECKPOINT, 0 };
NdbLogEventHandle handle =
ndb_mgm_create_logevent_handle(restarter.handle, filter);
struct ndb_logevent event;
int master = restarter.getMasterNodeId();
do {
int node1 = restarter.getRandomNodeOtherNodeGroup(master, rand());
int node2 = restarter.getRandomNodeSameNodeGroup(node1, rand());
int val2[] = { DumpStateOrd::CmvmiSetRestartOnErrorInsert, 1 };
restarter.dumpStateAllNodes(val2, 2);
int dump[] = { DumpStateOrd::DihSetTimeBetweenGcp, 30000 };
restarter.dumpStateAllNodes(dump, 2);
while(ndb_logevent_get_next(handle, &event, 0) >= 0 &&
event.type != NDB_LE_GlobalCheckpointCompleted);
CHECK(restarter.insertErrorInAllNodes(932) == 0);
CHECK(restarter.insertErrorInNode(node1, 7183) == 0);
CHECK(restarter.insertErrorInNode(node2, 7183) == 0);
CHECK(restarter.waitClusterNoStart() == 0);
restarter.startAll();
CHECK(restarter.waitClusterStarted() == 0);
} while(false);
return result;
}
NDBT_TESTSUITE(testSystemRestart); NDBT_TESTSUITE(testSystemRestart);
TESTCASE("SR1", TESTCASE("SR1",
"Basic system restart test. Focus on testing restart from REDO log.\n" "Basic system restart test. Focus on testing restart from REDO log.\n"
...@@ -1399,6 +1441,12 @@ TESTCASE("Bug24664", ...@@ -1399,6 +1441,12 @@ TESTCASE("Bug24664",
STEP(runBug24664); STEP(runBug24664);
FINALIZER(runClearTable); FINALIZER(runClearTable);
} }
TESTCASE("Bug29167", "")
{
INITIALIZER(runWaitStarted);
STEP(runBug29167);
}
NDBT_TESTSUITE_END(testSystemRestart); NDBT_TESTSUITE_END(testSystemRestart);
int main(int argc, const char** argv){ int main(int argc, const char** argv){
......
...@@ -485,6 +485,10 @@ max-time: 1000 ...@@ -485,6 +485,10 @@ max-time: 1000
cmd: testNodeRestart cmd: testNodeRestart
args: -n Bug27003 T1 args: -n Bug27003 T1
max-time: 300
cmd: testSystemRestart
args: -n Bug29167 T1
max-time: 1000 max-time: 1000
cmd: testNodeRestart cmd: testNodeRestart
args: -n Bug27283 T1 args: -n Bug27283 T1
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment