From: Martin Zaun Date: February 22 2011 9:16pm Subject: bzr commit into mysql-5.1-telco-7.1 branch (martin.zaun:4102) List-Archive: http://lists.mysql.com/commits/131883 Message-Id: <201102222116.p1ME6bjV015809@rcsinet15.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7513210270896147893==" --===============7513210270896147893== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///Users/mz/mysql/ndb-7.1-ndb_restore-test-cleanup/ based on revid:craig.russell@stripped 4102 Martin Zaun 2011-02-22 [merge] merge from ndb-7.0 to ndb-7.1 added: mysql-test/suite/ndb/r/ndb_restore_schema_tolerance.result mysql-test/suite/ndb/t/ndb_restore_schema_tolerance.test renamed: mysql-test/suite/ndb/r/ndb_blob_restore.result => mysql-test/suite/ndb/r/ndb_restore_schema_blobs.result mysql-test/suite/ndb/r/ndb_restore.result => mysql-test/suite/ndb/r/ndb_restore_misc.result mysql-test/suite/ndb/r/ndb_restore_compat.result => mysql-test/suite/ndb/r/ndb_restore_compat_downward.result mysql-test/suite/ndb/r/ndb_restore_different_endian_data.result => mysql-test/suite/ndb/r/ndb_restore_compat_endianness.result mysql-test/suite/ndb/r/ndb_restore_lossy_charbinary_conv.result => mysql-test/suite/ndb/r/ndb_restore_conv_lossy_charbinary.result mysql-test/suite/ndb/r/ndb_restore_lossy_integral_conv.result => mysql-test/suite/ndb/r/ndb_restore_conv_lossy_integral.result mysql-test/suite/ndb/r/ndb_restore_options.result => mysql-test/suite/ndb/r/ndb_restore_schema_subsets.result mysql-test/suite/ndb/r/ndb_restore_padding_preservation.result => mysql-test/suite/ndb/r/ndb_restore_conv_padding.result mysql-test/suite/ndb/r/ndb_restore_partition.result => mysql-test/suite/ndb/r/ndb_restore_schema_partitions.result mysql-test/suite/ndb/r/ndb_restore_promotion.result => mysql-test/suite/ndb/r/ndb_restore_conv_promotion.result mysql-test/suite/ndb/r/ndb_restore_rewrite_db.result => mysql-test/suite/ndb/r/ndb_restore_schema_rewrites.result mysql-test/suite/ndb/t/ndb_blob_restore.test => mysql-test/suite/ndb/t/ndb_restore_schema_blobs.test mysql-test/suite/ndb/t/ndb_restore.test => mysql-test/suite/ndb/t/ndb_restore_misc.test mysql-test/suite/ndb/t/ndb_restore_compat.test => mysql-test/suite/ndb/t/ndb_restore_compat_downward.test mysql-test/suite/ndb/t/ndb_restore_compressed-master.opt => mysql-test/suite/ndb/t/ndb_restore_compat_compression-master.opt mysql-test/suite/ndb/t/ndb_restore_compressed.test => mysql-test/suite/ndb/t/ndb_restore_compat_compression.test mysql-test/suite/ndb/t/ndb_restore_different_endian_data.test => mysql-test/suite/ndb/t/ndb_restore_compat_endianness.test mysql-test/suite/ndb/t/ndb_restore_lossy_charbinary_conv.test => mysql-test/suite/ndb/t/ndb_restore_conv_lossy_charbinary.test mysql-test/suite/ndb/t/ndb_restore_lossy_integral_conv.test => mysql-test/suite/ndb/t/ndb_restore_conv_lossy_integral.test mysql-test/suite/ndb/t/ndb_restore_options.test => mysql-test/suite/ndb/t/ndb_restore_schema_subsets.test mysql-test/suite/ndb/t/ndb_restore_padding_preservation.test => mysql-test/suite/ndb/t/ndb_restore_conv_padding.test mysql-test/suite/ndb/t/ndb_restore_partition.test => mysql-test/suite/ndb/t/ndb_restore_schema_partitions.test mysql-test/suite/ndb/t/ndb_restore_promotion.test => mysql-test/suite/ndb/t/ndb_restore_conv_promotion.test mysql-test/suite/ndb/t/ndb_restore_rewrite_db.test => mysql-test/suite/ndb/t/ndb_restore_schema_rewrites.test modified: mysql-test/suite/ndb/t/ndb_restore_print.test storage/ndb/src/mgmsrv/ConfigManager.cpp mysql-test/suite/ndb/r/ndb_restore_schema_subsets.result mysql-test/suite/ndb/t/ndb_restore_schema_blobs.test mysql-test/suite/ndb/t/ndb_restore_misc.test mysql-test/suite/ndb/t/ndb_restore_compat_downward.test mysql-test/suite/ndb/t/ndb_restore_compat_compression-master.opt mysql-test/suite/ndb/t/ndb_restore_compat_compression.test mysql-test/suite/ndb/t/ndb_restore_compat_endianness.test mysql-test/suite/ndb/t/ndb_restore_conv_lossy_charbinary.test mysql-test/suite/ndb/t/ndb_restore_conv_lossy_integral.test mysql-test/suite/ndb/t/ndb_restore_schema_subsets.test mysql-test/suite/ndb/t/ndb_restore_conv_padding.test mysql-test/suite/ndb/t/ndb_restore_schema_partitions.test mysql-test/suite/ndb/t/ndb_restore_conv_promotion.test mysql-test/suite/ndb/t/ndb_restore_schema_rewrites.test === renamed file 'mysql-test/suite/ndb/r/ndb_restore_compat.result' => 'mysql-test/suite/ndb/r/ndb_restore_compat_downward.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore_different_endian_data.result' => 'mysql-test/suite/ndb/r/ndb_restore_compat_endianness.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore_lossy_charbinary_conv.result' => 'mysql-test/suite/ndb/r/ndb_restore_conv_lossy_charbinary.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore_lossy_integral_conv.result' => 'mysql-test/suite/ndb/r/ndb_restore_conv_lossy_integral.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore_padding_preservation.result' => 'mysql-test/suite/ndb/r/ndb_restore_conv_padding.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore_promotion.result' => 'mysql-test/suite/ndb/r/ndb_restore_conv_promotion.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore.result' => 'mysql-test/suite/ndb/r/ndb_restore_misc.result' === renamed file 'mysql-test/suite/ndb/r/ndb_blob_restore.result' => 'mysql-test/suite/ndb/r/ndb_restore_schema_blobs.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore_partition.result' => 'mysql-test/suite/ndb/r/ndb_restore_schema_partitions.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore_rewrite_db.result' => 'mysql-test/suite/ndb/r/ndb_restore_schema_rewrites.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore_options.result' => 'mysql-test/suite/ndb/r/ndb_restore_schema_subsets.result' --- a/mysql-test/suite/ndb/r/ndb_restore_options.result 2010-06-11 20:30:56 +0000 +++ b/mysql-test/suite/ndb/r/ndb_restore_schema_subsets.result 2011-02-22 03:29:24 +0000 @@ -510,181 +510,3 @@ tab2 drop table db2.tab1, db2.tab2; drop database db1; drop database db2; -Test ndb_restore ability to ignore some schema differences -use test; -create table t1 ( -a int, -b int, -c int, -d int, -e varchar(200), -f int, -g char(20), -h text, -i int, -primary key(a,b)) TABLESPACE ts1 engine = ndb; -insert into t1 values -(1, 1, 1, 1, '1', 1, 'Rankin', 'Rebus', 1), -(2, 2, 2, 2, '2', 2, 'Doyle', 'Holmes', 2), -(3, 3, 3, 3, '3', 3, 'Burns', 'Mouse', 3), -(4, 4, 4, 4, '4', 4, 'Gibbon', 'Chris', 4), -(5, 5, 5, 5, '5', 5, 'Gray', 'Lanark', 5); -select * from t1 order by a; -a b c d e f g h i -1 1 1 1 1 1 Rankin Rebus 1 -2 2 2 2 2 2 Doyle Holmes 2 -3 3 3 3 3 3 Burns Mouse 3 -4 4 4 4 4 4 Gibbon Chris 4 -5 5 5 5 5 5 Gray Lanark 5 -Backing up data -drop table t1; -Normal restore -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) NOT NULL DEFAULT '0', - `b` int(11) NOT NULL DEFAULT '0', - `c` int(11) DEFAULT NULL, - `d` int(11) DEFAULT NULL, - `e` varchar(200) DEFAULT NULL, - `f` int(11) DEFAULT NULL, - `g` char(20) DEFAULT NULL, - `h` text, - `i` int(11) DEFAULT NULL, - PRIMARY KEY (`a`,`b`) -) /*!50100 TABLESPACE ts1 */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 -select * from t1 order by a; -a b c d e f g h i -1 1 1 1 1 1 Rankin Rebus 1 -2 2 2 2 2 2 Doyle Holmes 2 -3 3 3 3 3 3 Burns Mouse 3 -4 4 4 4 4 4 Gibbon Chris 4 -5 5 5 5 5 5 Gray Lanark 5 -truncate t1; -Column name change, should fail without --exclude-missing-columns -alter table t1 change c cc int; -Retry with --exclude-missing-columns -select * from t1 order by a; -a b cc d e f g h i -1 1 NULL 1 1 1 Rankin Rebus 1 -2 2 NULL 2 2 2 Doyle Holmes 2 -3 3 NULL 3 3 3 Burns Mouse 3 -4 4 NULL 4 4 4 Gibbon Chris 4 -5 5 NULL 5 5 5 Gray Lanark 5 -truncate t1; -Column type change, should fail -alter table t1 change cc c bigint; -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) NOT NULL DEFAULT '0', - `b` int(11) NOT NULL DEFAULT '0', - `c` bigint(20) DEFAULT NULL, - `d` int(11) DEFAULT NULL, - `e` varchar(200) DEFAULT NULL, - `f` int(11) DEFAULT NULL, - `g` char(20) DEFAULT NULL, - `h` text, - `i` int(11) DEFAULT NULL, - PRIMARY KEY (`a`,`b`) -) /*!50100 TABLESPACE ts1 */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 -Retry with --promote-attribute -select * from t1 order by a; -a b c d e f g h i -1 1 1 1 1 1 Rankin Rebus 1 -2 2 2 2 2 2 Doyle Holmes 2 -3 3 3 3 3 3 Burns Mouse 3 -4 4 4 4 4 4 Gibbon Chris 4 -5 5 5 5 5 5 Gray Lanark 5 -truncate t1; -Column nullability change, should fail -alter table t1 change c c int not null; -alter table t1 change c c int; -Column length change, should fail -alter table t1 change g g char(22); -Character set difference, should fail -alter table t1 change g g char(20) character set binary; -alter table t1 change g g char(20); -AutoIncrement difference, should fail -alter table t1 change b b int auto_increment; -Default difference, should pass -alter table t1 change b b int default 22; -select * from t1 order by a; -a b c d e f g h i -1 1 1 1 1 1 Rankin Rebus 1 -2 2 2 2 2 2 Doyle Holmes 2 -3 3 3 3 3 3 Burns Mouse 3 -4 4 4 4 4 4 Gibbon Chris 4 -5 5 5 5 5 5 Gray Lanark 5 -truncate t1; -alter table t1 change b b int; -ArrayType difference, should fail -alter table t1 change e e varchar(300); -alter table t1 change e e varchar(200); -StorageType difference, should pass -CREATE LOGFILE GROUP lg1 -ADD UNDOFILE 'undofile.dat' -INITIAL_SIZE 16M -UNDO_BUFFER_SIZE = 1M -ENGINE=NDB; -CREATE TABLESPACE ts1 -ADD DATAFILE 'datafile.dat' -USE LOGFILE GROUP lg1 -INITIAL_SIZE 12M -ENGINE NDB; -alter table t1 change i i int storage disk; -select * from t1 order by a; -a b c d e f g h i -1 1 1 1 1 1 Rankin Rebus 1 -2 2 2 2 2 2 Doyle Holmes 2 -3 3 3 3 3 3 Burns Mouse 3 -4 4 4 4 4 4 Gibbon Chris 4 -5 5 5 5 5 5 Gray Lanark 5 -alter table t1 change i i int storage memory; -truncate t1; -Dynamic property difference, should pass -alter table t1 change c c int column_format dynamic; -select * from t1 order by a; -a b c d e f g h i -1 1 1 1 1 1 Rankin Rebus 1 -2 2 2 2 2 2 Doyle Holmes 2 -3 3 3 3 3 3 Burns Mouse 3 -4 4 4 4 4 4 Gibbon Chris 4 -5 5 5 5 5 5 Gray Lanark 5 -drop table t1; -alter tablespace ts1 drop datafile 'datafile.dat' engine=ndb; -drop tablespace ts1 engine=ndb; -drop logfile group lg1 engine=ndb; -Different PK columns, should fail -create table t1 ( -a int, -b int, -c int, -d int, -e varchar(200), -f int, -g char(20), -h text, -i int, -primary key (a)) TABLESPACE ts1 engine = ndb; -drop table t1; -Different distribution keys, should pass -create table t1 ( -a int, -b int, -c int, -d int, -e varchar(200), -f int, -g char(20), -h text, -i int, -primary key(a,b)) TABLESPACE ts1 engine = ndb partition by key(a); -select * from t1 order by a; -a b c d e f g h i -1 1 1 1 1 1 Rankin Rebus 1 -2 2 2 2 2 2 Doyle Holmes 2 -3 3 3 3 3 3 Burns Mouse 3 -4 4 4 4 4 4 Gibbon Chris 4 -5 5 5 5 5 5 Gray Lanark 5 -drop table t1; === added file 'mysql-test/suite/ndb/r/ndb_restore_schema_tolerance.result' --- a/mysql-test/suite/ndb/r/ndb_restore_schema_tolerance.result 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/ndb/r/ndb_restore_schema_tolerance.result 2011-02-22 03:29:24 +0000 @@ -0,0 +1,178 @@ +Test ndb_restore ability to ignore some schema differences +use test; +create table t1 ( +a int, +b int, +c int, +d int, +e varchar(200), +f int, +g char(20), +h text, +i int, +primary key(a,b)) TABLESPACE ts1 engine = ndb; +insert into t1 values +(1, 1, 1, 1, '1', 1, 'Rankin', 'Rebus', 1), +(2, 2, 2, 2, '2', 2, 'Doyle', 'Holmes', 2), +(3, 3, 3, 3, '3', 3, 'Burns', 'Mouse', 3), +(4, 4, 4, 4, '4', 4, 'Gibbon', 'Chris', 4), +(5, 5, 5, 5, '5', 5, 'Gray', 'Lanark', 5); +select * from t1 order by a; +a b c d e f g h i +1 1 1 1 1 1 Rankin Rebus 1 +2 2 2 2 2 2 Doyle Holmes 2 +3 3 3 3 3 3 Burns Mouse 3 +4 4 4 4 4 4 Gibbon Chris 4 +5 5 5 5 5 5 Gray Lanark 5 +Backing up data +drop table t1; +Normal restore +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) NOT NULL DEFAULT '0', + `b` int(11) NOT NULL DEFAULT '0', + `c` int(11) DEFAULT NULL, + `d` int(11) DEFAULT NULL, + `e` varchar(200) DEFAULT NULL, + `f` int(11) DEFAULT NULL, + `g` char(20) DEFAULT NULL, + `h` text, + `i` int(11) DEFAULT NULL, + PRIMARY KEY (`a`,`b`) +) /*!50100 TABLESPACE ts1 */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +select * from t1 order by a; +a b c d e f g h i +1 1 1 1 1 1 Rankin Rebus 1 +2 2 2 2 2 2 Doyle Holmes 2 +3 3 3 3 3 3 Burns Mouse 3 +4 4 4 4 4 4 Gibbon Chris 4 +5 5 5 5 5 5 Gray Lanark 5 +truncate t1; +Column name change, should fail without --exclude-missing-columns +alter table t1 change c cc int; +Retry with --exclude-missing-columns +select * from t1 order by a; +a b cc d e f g h i +1 1 NULL 1 1 1 Rankin Rebus 1 +2 2 NULL 2 2 2 Doyle Holmes 2 +3 3 NULL 3 3 3 Burns Mouse 3 +4 4 NULL 4 4 4 Gibbon Chris 4 +5 5 NULL 5 5 5 Gray Lanark 5 +truncate t1; +Column type change, should fail +alter table t1 change cc c bigint; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) NOT NULL DEFAULT '0', + `b` int(11) NOT NULL DEFAULT '0', + `c` bigint(20) DEFAULT NULL, + `d` int(11) DEFAULT NULL, + `e` varchar(200) DEFAULT NULL, + `f` int(11) DEFAULT NULL, + `g` char(20) DEFAULT NULL, + `h` text, + `i` int(11) DEFAULT NULL, + PRIMARY KEY (`a`,`b`) +) /*!50100 TABLESPACE ts1 */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +Retry with --promote-attribute +select * from t1 order by a; +a b c d e f g h i +1 1 1 1 1 1 Rankin Rebus 1 +2 2 2 2 2 2 Doyle Holmes 2 +3 3 3 3 3 3 Burns Mouse 3 +4 4 4 4 4 4 Gibbon Chris 4 +5 5 5 5 5 5 Gray Lanark 5 +truncate t1; +Column nullability change, should fail +alter table t1 change c c int not null; +alter table t1 change c c int; +Column length change, should fail +alter table t1 change g g char(22); +Character set difference, should fail +alter table t1 change g g char(20) character set binary; +alter table t1 change g g char(20); +AutoIncrement difference, should fail +alter table t1 change b b int auto_increment; +Default difference, should pass +alter table t1 change b b int default 22; +select * from t1 order by a; +a b c d e f g h i +1 1 1 1 1 1 Rankin Rebus 1 +2 2 2 2 2 2 Doyle Holmes 2 +3 3 3 3 3 3 Burns Mouse 3 +4 4 4 4 4 4 Gibbon Chris 4 +5 5 5 5 5 5 Gray Lanark 5 +truncate t1; +alter table t1 change b b int; +ArrayType difference, should fail +alter table t1 change e e varchar(300); +alter table t1 change e e varchar(200); +StorageType difference, should pass +CREATE LOGFILE GROUP lg1 +ADD UNDOFILE 'undofile.dat' +INITIAL_SIZE 16M +UNDO_BUFFER_SIZE = 1M +ENGINE=NDB; +CREATE TABLESPACE ts1 +ADD DATAFILE 'datafile.dat' +USE LOGFILE GROUP lg1 +INITIAL_SIZE 12M +ENGINE NDB; +alter table t1 change i i int storage disk; +select * from t1 order by a; +a b c d e f g h i +1 1 1 1 1 1 Rankin Rebus 1 +2 2 2 2 2 2 Doyle Holmes 2 +3 3 3 3 3 3 Burns Mouse 3 +4 4 4 4 4 4 Gibbon Chris 4 +5 5 5 5 5 5 Gray Lanark 5 +alter table t1 change i i int storage memory; +truncate t1; +Dynamic property difference, should pass +alter table t1 change c c int column_format dynamic; +select * from t1 order by a; +a b c d e f g h i +1 1 1 1 1 1 Rankin Rebus 1 +2 2 2 2 2 2 Doyle Holmes 2 +3 3 3 3 3 3 Burns Mouse 3 +4 4 4 4 4 4 Gibbon Chris 4 +5 5 5 5 5 5 Gray Lanark 5 +drop table t1; +alter tablespace ts1 drop datafile 'datafile.dat' engine=ndb; +drop tablespace ts1 engine=ndb; +drop logfile group lg1 engine=ndb; +Different PK columns, should fail +create table t1 ( +a int, +b int, +c int, +d int, +e varchar(200), +f int, +g char(20), +h text, +i int, +primary key (a)) TABLESPACE ts1 engine = ndb; +drop table t1; +Different distribution keys, should pass +create table t1 ( +a int, +b int, +c int, +d int, +e varchar(200), +f int, +g char(20), +h text, +i int, +primary key(a,b)) TABLESPACE ts1 engine = ndb partition by key(a); +select * from t1 order by a; +a b c d e f g h i +1 1 1 1 1 1 Rankin Rebus 1 +2 2 2 2 2 2 Doyle Holmes 2 +3 3 3 3 3 3 Burns Mouse 3 +4 4 4 4 4 4 Gibbon Chris 4 +5 5 5 5 5 5 Gray Lanark 5 +drop table t1; === renamed file 'mysql-test/suite/ndb/t/ndb_restore_compressed-master.opt' => 'mysql-test/suite/ndb/t/ndb_restore_compat_compression-master.opt' --- a/mysql-test/suite/ndb/t/ndb_restore_compressed-master.opt 2009-04-09 15:27:21 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_compat_compression-master.opt 2011-02-22 01:15:42 +0000 @@ -1 +1 @@ ---result-file=../suite/ndb/r/ndb_restore +--result-file=../suite/ndb/r/ndb_restore_misc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_compressed.test' => 'mysql-test/suite/ndb/t/ndb_restore_compat_compression.test' --- a/mysql-test/suite/ndb/t/ndb_restore_compressed.test 2009-10-06 12:03:16 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_compat_compression.test 2011-02-22 03:29:24 +0000 @@ -1,8 +1,12 @@ -# Turn on compressed backup with magic DUMP command +###################################################################### +# Test restoring compressed backups +###################################################################### + +# turn on compressed backup with magic DUMP command --exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "all dump 13001 1" >> $NDB_TOOLS_OUTPUT -# Run the ndb_restore test, should produce exactly the same output -source ndb_restore.test; +# run the ndb_restore test, should produce exactly the same output +source ndb_restore_misc.test; -# Turn off compressed backups +# turn off compressed backups --exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "all dump 13001 0" >> $NDB_TOOLS_OUTPUT === renamed file 'mysql-test/suite/ndb/t/ndb_restore_compat.test' => 'mysql-test/suite/ndb/t/ndb_restore_compat_downward.test' --- a/mysql-test/suite/ndb/t/ndb_restore_compat.test 2010-12-03 09:36:45 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_compat_downward.test 2011-02-22 03:29:24 +0000 @@ -1,3 +1,7 @@ +###################################################################### +# Test restoring backups of older/packed formats +###################################################################### + -- source include/have_ndb.inc -- source include/have_case_sensitive_file_system.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_different_endian_data.test' => 'mysql-test/suite/ndb/t/ndb_restore_compat_endianness.test' --- a/mysql-test/suite/ndb/t/ndb_restore_different_endian_data.test 2010-10-25 09:15:03 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_compat_endianness.test 2011-02-22 03:29:24 +0000 @@ -1,3 +1,7 @@ +###################################################################### +# Test restoring backups of different endianness +###################################################################### + -- source include/have_ndb.inc -- source include/ndb_default_cluster.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_lossy_charbinary_conv.test' => 'mysql-test/suite/ndb/t/ndb_restore_conv_lossy_charbinary.test' --- a/mysql-test/suite/ndb/t/ndb_restore_lossy_charbinary_conv.test 2010-10-23 06:46:02 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_conv_lossy_charbinary.test 2011-02-22 03:29:24 +0000 @@ -1,7 +1,5 @@ ###################################################################### -# Author: Martin Zaun -# Date: 2010-10 -# Purpose: Lossy conversion test for [var]char and [var]binary types +# Test restoring backups with lossy conversions on [var]char|binary types ###################################################################### -- source include/have_ndb.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_lossy_integral_conv.test' => 'mysql-test/suite/ndb/t/ndb_restore_conv_lossy_integral.test' --- a/mysql-test/suite/ndb/t/ndb_restore_lossy_integral_conv.test 2010-10-23 06:46:02 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_conv_lossy_integral.test 2011-02-22 03:29:24 +0000 @@ -1,7 +1,5 @@ ###################################################################### -# Author: Martin Zaun -# Date: 2010-10 -# Purpose: Lossy conversion test for integral types +# Test restoring backups with lossy conversions on integral types ###################################################################### -- source include/have_ndb.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_padding_preservation.test' => 'mysql-test/suite/ndb/t/ndb_restore_conv_padding.test' --- a/mysql-test/suite/ndb/t/ndb_restore_padding_preservation.test 2010-10-23 06:46:02 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_conv_padding.test 2011-02-22 03:29:24 +0000 @@ -1,7 +1,5 @@ ###################################################################### -# Author: Martin Zaun -# Date: 2010-10 -# Purpose: Right-padding preservation test for char and binary types +# Test restoring backups with preserving padding in char/bin conversions ###################################################################### -- source include/have_ndb.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_promotion.test' => 'mysql-test/suite/ndb/t/ndb_restore_conv_promotion.test' --- a/mysql-test/suite/ndb/t/ndb_restore_promotion.test 2010-04-29 14:52:05 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_conv_promotion.test 2011-02-22 03:29:24 +0000 @@ -1,8 +1,6 @@ -############################################################# -# Author: Guangbao -# Date: 2007-11 -# Purpose: Basic Integer,Char and Binary type promotion test -############################################################## +###################################################################### +# Test restoring backups with widening type conversions (promotion) +###################################################################### -- source include/have_ndb.inc -- source include/not_embedded.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore.test' => 'mysql-test/suite/ndb/t/ndb_restore_misc.test' --- a/mysql-test/suite/ndb/t/ndb_restore.test 2011-01-21 10:29:46 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_misc.test 2011-02-22 03:29:24 +0000 @@ -1,3 +1,7 @@ +###################################################################### +# Test various issues ndb_restore had at some time +###################################################################### + -- source include/have_ndb.inc -- source include/ndb_default_cluster.inc === modified file 'mysql-test/suite/ndb/t/ndb_restore_print.test' --- a/mysql-test/suite/ndb/t/ndb_restore_print.test 2009-04-08 13:19:57 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_print.test 2011-02-22 01:15:42 +0000 @@ -1,3 +1,7 @@ +###################################################################### +# Test ndb_restore's print_data feature +###################################################################### + -- source include/have_ndb.inc -- source include/ndb_default_cluster.inc === renamed file 'mysql-test/suite/ndb/t/ndb_blob_restore.test' => 'mysql-test/suite/ndb/t/ndb_restore_schema_blobs.test' --- a/mysql-test/suite/ndb/t/ndb_blob_restore.test 2008-12-22 11:10:00 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_schema_blobs.test 2011-02-22 03:29:24 +0000 @@ -1,3 +1,7 @@ +###################################################################### +# Test restoring backups with blob columns +###################################################################### + -- source include/have_ndb.inc -- source include/ndb_default_cluster.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_partition.test' => 'mysql-test/suite/ndb/t/ndb_restore_schema_partitions.test' --- a/mysql-test/suite/ndb/t/ndb_restore_partition.test 2009-10-09 15:08:04 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_schema_partitions.test 2011-02-22 03:29:24 +0000 @@ -1,3 +1,7 @@ +###################################################################### +# Test restoring backups into partitioned tables +###################################################################### + -- source include/have_ndb.inc -- source include/ndb_default_cluster.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_rewrite_db.test' => 'mysql-test/suite/ndb/t/ndb_restore_schema_rewrites.test' --- a/mysql-test/suite/ndb/t/ndb_restore_rewrite_db.test 2011-02-02 10:17:58 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_schema_rewrites.test 2011-02-22 03:29:24 +0000 @@ -1,7 +1,5 @@ ###################################################################### -# Author: Martin Zaun -# Date: 2011-01 -# Purpose: test of rewrite-database feature +# Test restoring backups into renamed databases ###################################################################### -- source include/have_ndb.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_options.test' => 'mysql-test/suite/ndb/t/ndb_restore_schema_subsets.test' --- a/mysql-test/suite/ndb/t/ndb_restore_options.test 2010-06-11 20:30:56 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_schema_subsets.test 2011-02-22 03:29:24 +0000 @@ -1,8 +1,10 @@ +###################################################################### +# Test restoring backups with in- or excluding tables or databases +###################################################################### + -- source include/have_ndb.inc -- source include/ndb_default_cluster.inc -# Bug#40429 Ignore tables when restoring - --echo ************************************* --echo Creating various databases and tables --echo ************************************* @@ -346,206 +348,3 @@ drop table db2.tab1, db2.tab2; drop database db1; drop database db2; - -# End of bug 40429 - - ---echo Test ndb_restore ability to ignore some schema differences - -use test; -create table t1 ( - a int, - b int, - c int, - d int, - e varchar(200), - f int, - g char(20), - h text, - i int, - primary key(a,b)) TABLESPACE ts1 engine = ndb; - -insert into t1 values - (1, 1, 1, 1, '1', 1, 'Rankin', 'Rebus', 1), - (2, 2, 2, 2, '2', 2, 'Doyle', 'Holmes', 2), - (3, 3, 3, 3, '3', 3, 'Burns', 'Mouse', 3), - (4, 4, 4, 4, '4', 4, 'Gibbon', 'Chris', 4), - (5, 5, 5, 5, '5', 5, 'Gray', 'Lanark', 5); - -select * from t1 order by a; - ---echo Backing up data ---source include/ndb_backup.inc - -drop table t1; - ---echo Normal restore ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r -m $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -show create table t1; - -select * from t1 order by a; - -truncate t1; - ---echo Column name change, should fail without --exclude-missing-columns - -alter table t1 change c cc int; - ---error 1 ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - ---echo Retry with --exclude-missing-columns - ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r --exclude-missing-columns $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r --exclude-missing-columns $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -select * from t1 order by a; -truncate t1; - ---echo Column type change, should fail - -alter table t1 change cc c bigint; -show create table t1; #REMOVE! ---error 1 ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - ---echo Retry with --promote-attribute - ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r --promote-attribute $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r --promote-attribute $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -select * from t1 order by a; -truncate t1; - ---echo Column nullability change, should fail - -alter table t1 change c c int not null; - ---error 1 ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -alter table t1 change c c int; - -# Skip Precision and scale differences - should fail - ---echo Column length change, should fail - -alter table t1 change g g char(22); - ---error 1 ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - ---echo Character set difference, should fail - -alter table t1 change g g char(20) character set binary; - ---error 1 ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -alter table t1 change g g char(20); - ---echo AutoIncrement difference, should fail - -alter table t1 change b b int auto_increment; - ---error 1 ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - ---echo Default difference, should pass -alter table t1 change b b int default 22; - ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -select * from t1 order by a; -truncate t1; - -alter table t1 change b b int; - ---echo ArrayType difference, should fail -alter table t1 change e e varchar(300); - ---error 1 ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -alter table t1 change e e varchar(200); - ---echo StorageType difference, should pass -CREATE LOGFILE GROUP lg1 -ADD UNDOFILE 'undofile.dat' -INITIAL_SIZE 16M -UNDO_BUFFER_SIZE = 1M -ENGINE=NDB; - -CREATE TABLESPACE ts1 -ADD DATAFILE 'datafile.dat' -USE LOGFILE GROUP lg1 -INITIAL_SIZE 12M -ENGINE NDB; - -alter table t1 change i i int storage disk; - ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -select * from t1 order by a; - -alter table t1 change i i int storage memory; -truncate t1; - -# Skip BlobType difference (should fail) - ---echo Dynamic property difference, should pass - -alter table t1 change c c int column_format dynamic; - ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -select * from t1 order by a; - -drop table t1; -alter tablespace ts1 drop datafile 'datafile.dat' engine=ndb; -drop tablespace ts1 engine=ndb; -drop logfile group lg1 engine=ndb; - ---echo Different PK columns, should fail -create table t1 ( - a int, - b int, - c int, - d int, - e varchar(200), - f int, - g char(20), - h text, - i int, - primary key (a)) TABLESPACE ts1 engine = ndb; - ---error 1 ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -drop table t1; - ---echo Different distribution keys, should pass - -create table t1 ( - a int, - b int, - c int, - d int, - e varchar(200), - f int, - g char(20), - h text, - i int, - primary key(a,b)) TABLESPACE ts1 engine = ndb partition by key(a); - ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -select * from t1 order by a; - -drop table t1; === added file 'mysql-test/suite/ndb/t/ndb_restore_schema_tolerance.test' --- a/mysql-test/suite/ndb/t/ndb_restore_schema_tolerance.test 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_schema_tolerance.test 2011-02-22 03:29:24 +0000 @@ -0,0 +1,206 @@ +###################################################################### +# Test restoring backups into similar schemas +###################################################################### + +-- source include/have_ndb.inc +-- source include/ndb_default_cluster.inc + +--echo Test ndb_restore ability to ignore some schema differences + +use test; +create table t1 ( + a int, + b int, + c int, + d int, + e varchar(200), + f int, + g char(20), + h text, + i int, + primary key(a,b)) TABLESPACE ts1 engine = ndb; + +insert into t1 values + (1, 1, 1, 1, '1', 1, 'Rankin', 'Rebus', 1), + (2, 2, 2, 2, '2', 2, 'Doyle', 'Holmes', 2), + (3, 3, 3, 3, '3', 3, 'Burns', 'Mouse', 3), + (4, 4, 4, 4, '4', 4, 'Gibbon', 'Chris', 4), + (5, 5, 5, 5, '5', 5, 'Gray', 'Lanark', 5); + +select * from t1 order by a; + +--echo Backing up data +--source include/ndb_backup.inc + +drop table t1; + +--echo Normal restore +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r -m $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +show create table t1; + +select * from t1 order by a; + +truncate t1; + +--echo Column name change, should fail without --exclude-missing-columns + +alter table t1 change c cc int; + +--error 1 +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +--echo Retry with --exclude-missing-columns + +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r --exclude-missing-columns $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r --exclude-missing-columns $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +select * from t1 order by a; +truncate t1; + +--echo Column type change, should fail + +alter table t1 change cc c bigint; +show create table t1; #REMOVE! +--error 1 +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +--echo Retry with --promote-attribute + +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r --promote-attribute $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r --promote-attribute $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +select * from t1 order by a; +truncate t1; + +--echo Column nullability change, should fail + +alter table t1 change c c int not null; + +--error 1 +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +alter table t1 change c c int; + +# Skip Precision and scale differences - should fail + +--echo Column length change, should fail + +alter table t1 change g g char(22); + +--error 1 +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +--echo Character set difference, should fail + +alter table t1 change g g char(20) character set binary; + +--error 1 +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +alter table t1 change g g char(20); + +--echo AutoIncrement difference, should fail + +alter table t1 change b b int auto_increment; + +--error 1 +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +--echo Default difference, should pass +alter table t1 change b b int default 22; + +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +select * from t1 order by a; +truncate t1; + +alter table t1 change b b int; + +--echo ArrayType difference, should fail +alter table t1 change e e varchar(300); + +--error 1 +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +alter table t1 change e e varchar(200); + +--echo StorageType difference, should pass +CREATE LOGFILE GROUP lg1 +ADD UNDOFILE 'undofile.dat' +INITIAL_SIZE 16M +UNDO_BUFFER_SIZE = 1M +ENGINE=NDB; + +CREATE TABLESPACE ts1 +ADD DATAFILE 'datafile.dat' +USE LOGFILE GROUP lg1 +INITIAL_SIZE 12M +ENGINE NDB; + +alter table t1 change i i int storage disk; + +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +select * from t1 order by a; + +alter table t1 change i i int storage memory; +truncate t1; + +# Skip BlobType difference (should fail) + +--echo Dynamic property difference, should pass + +alter table t1 change c c int column_format dynamic; + +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +select * from t1 order by a; + +drop table t1; +alter tablespace ts1 drop datafile 'datafile.dat' engine=ndb; +drop tablespace ts1 engine=ndb; +drop logfile group lg1 engine=ndb; + +--echo Different PK columns, should fail +create table t1 ( + a int, + b int, + c int, + d int, + e varchar(200), + f int, + g char(20), + h text, + i int, + primary key (a)) TABLESPACE ts1 engine = ndb; + +--error 1 +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +drop table t1; + +--echo Different distribution keys, should pass + +create table t1 ( + a int, + b int, + c int, + d int, + e varchar(200), + f int, + g char(20), + h text, + i int, + primary key(a,b)) TABLESPACE ts1 engine = ndb partition by key(a); + +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +select * from t1 order by a; + +drop table t1; === modified file 'storage/ndb/src/mgmsrv/ConfigManager.cpp' --- a/storage/ndb/src/mgmsrv/ConfigManager.cpp 2011-02-01 08:52:56 +0000 +++ b/storage/ndb/src/mgmsrv/ConfigManager.cpp 2011-02-22 21:16:11 +0000 @@ -1326,6 +1326,18 @@ ConfigManager::execCONFIG_CHECK_REQ(Sign other_checksum = checksum; } + if (m_prepared_config) + { + g_eventLogger->debug("Got CONFIG_CHECK_REQ from node: %d while " + "config change in progress (m_prepared_config). " + "Returning incorrect state, causing it to be retried", + nodeId); + sendConfigCheckRef(ss, from, ConfigCheckRef::WrongState, + generation, other_generation, + m_config_state, CS_UNINITIALIZED); + return; + } + g_eventLogger->debug("Got CONFIG_CHECK_REQ from node: %d. " "Our generation: %d, other generation: %d, " "our state: %d, other state: %d, " --===============7513210270896147893== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/martin.zaun@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: martin.zaun@stripped # target_branch: file:///Users/mz/mysql/ndb-7.1-ndb_restore-test-\ # cleanup/ # testament_sha1: b1b01a0bd9d6ada1008d573d816c4cebca0541f3 # timestamp: 2011-02-22 13:16:40 -0800 # source_branch: file:///Users/mz/mysql/ndb-7.1-opt1/ # base_revision_id: craig.russell@stripped\ # 2m2ae1rdlc0j0epz # # Begin bundle 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 63UjdVqymDJYwuOGiuca90vcNGq/pMFnFFiE1iJYvasWjJYx2Usb2a5S0q4Md7Vs3NHMp07slAk4 HKHBBgoQQUPVHAbTvsVIDcwcL0Mj6EnwPj8j4vQ4vTH3+JtPqd+83MXvk8iSLArv7CbSvHUnTY6j LQrtoo5xkxWdGeAcdeqVYZuuGfJoTjHtLiHtNUQjIKVEwQIFlVlVZgVH+C0Vc1S31srcKOqebhh2 +/Vv4tq/Th01EttQdNk28R+NUod3IuJJtRuRZvUOVNi1SmnRb2SKy23iya8VzfLppNFQRxcHGs2v g+vDputrqrq4VxfTtslX0908WqTHcwd3KayNe0Y1siotyhevYO3s7MWUdrsVPF9H33Jc8Wzvanfm q5Kl6vk5L29a7q3Fjgo5yW4ss3LVxx1Vt+llLePLNq4GLNzcVbXBub2NGreqLjg224s1zBtYpWrW MFHJiuVLSq7Vw3MG9tGTeqVOCvhCS5jMlFzu7KasL2EkVKTK9vaNGm29wfJLH6PyYrzE7Tvr+6Hi ehmSaEnk1OzuezLpxZmVmnorqno7oi/dTyZjtoMs5NDr1w3XfGAVMF0F2nQBKUJRxJ1GAwSamDUY 0CbC5EsGyyEW2xW1QLSKxJubYMXNoexY9FjQ7OPEwQWpjVi21ZMFSzPy2cnJc4cMmSzVZnKOG9wW KmDBsqvwuauLha1k4NtrzFb7XUZMVmLCjJzXODcyzXtWDerwK2mm11LFW269ngpRy2X5HFttxUcG y7fpnesV0WMinN2yo4T0jCqUiJe3ubi4t7maKjdtwVm5U3txuZLnBUouStYqVNyScikFA2OYxYuZ KFjJQcvwbmBTKxosvzUXt9rB2n0Sp2aanf7T3Muwq9Dm8nrXEjR6m86FZYSfYk1OZb2vLjxpVK9z s762hVbwZrUfpKu8v1ULhVIHYelO8TQ94lioh5+ODmsZ4Na0o3KLtLpe818TbocNzRu3c8dGWTj5 M8Wi5ruYKSxxbmJZaxXr1RzYr1hzLZhxVacOLZ6vZ7cLaU6nZxz2cXec3W7eHCryfAy7bHa6m9sr VK3Qpco7e7sOPo07sp2ObNRMsWPU3b2LnzvZCe6Pu7kSeFHM1drmossYYtlrrNlzk0ssY28nvOc7 y50UddTRg0Wtm5gWvyjrWtmRXyYuzctb27hi2de9U8D4Hl3HWrQNu8NaKdHJwOxkd4WBPnFOiQeL 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 --===============7513210270896147893==--