Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
692291b4
Commit
692291b4
authored
Apr 27, 2008
by
msvensson@pilot.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-rpl
into pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-maint2
parents
d0d79913
3f48a306
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
200 additions
and
70 deletions
+200
-70
mysql-test/include/circular_rpl_for_4_hosts_init.inc
mysql-test/include/circular_rpl_for_4_hosts_init.inc
+1
-1
mysql-test/lib/My/ConfigFactory.pm
mysql-test/lib/My/ConfigFactory.pm
+3
-3
mysql-test/lib/mtr_cases.pm
mysql-test/lib/mtr_cases.pm
+10
-0
mysql-test/mysql-test-run.pl
mysql-test/mysql-test-run.pl
+116
-54
mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result
mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result
+1
-1
mysql-test/suite/rpl/t/disabled.def
mysql-test/suite/rpl/t/disabled.def
+0
-1
mysql-test/suite/rpl/t/rpl_circular_for_4_hosts-master.opt
mysql-test/suite/rpl/t/rpl_circular_for_4_hosts-master.opt
+0
-1
mysql-test/suite/rpl/t/rpl_circular_for_4_hosts-slave.opt
mysql-test/suite/rpl/t/rpl_circular_for_4_hosts-slave.opt
+0
-1
mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf
mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf
+27
-0
mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result
mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result
+2
-1
mysql-test/suite/rpl_ndb/t/disabled.def
mysql-test/suite/rpl_ndb/t/disabled.def
+1
-2
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch-master.opt
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch-master.opt
+0
-1
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch-slave.opt
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch-slave.opt
+0
-1
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf
+35
-0
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test
+4
-3
No files found.
mysql-test/include/circular_rpl_for_4_hosts_init.inc
View file @
692291b4
...
...
@@ -18,7 +18,7 @@
--
source
include
/
master
-
slave
.
inc
#
# Set up circular ring by schema A->B->C-D->A
# Set up circular ring by schema A->B->C-
>
D->A
#
--
connection
slave
...
...
mysql-test/lib/My/ConfigFactory.pm
View file @
692291b4
...
...
@@ -416,7 +416,7 @@ sub post_fix_mysql_cluster_section {
# Add a [mysl_cluster.<suffix>] section for each
# defined [cluster_config.<suffix>] section
foreach
my
$group
(
$config
->
like
('
cluster_config
\
.
\
w*
')
)
foreach
my
$group
(
$config
->
like
('
cluster_config
\
.
\
w*
$
')
)
{
my
@urls
;
# Generate ndb_connectstring for this cluster
...
...
@@ -497,7 +497,7 @@ sub run_generate_sections_from_cluster_config {
my
@options
=
('
ndb_mgmd
',
'
ndbd
',
'
mysqld
',
'
ndbapi
');
foreach
my
$group
(
$config
->
like
('
cluster_config
\
.
\
w*
')
)
{
foreach
my
$group
(
$config
->
like
('
cluster_config
\
.
\
w*
$
')
)
{
# Keep track of current index per process type
my
%
idxes
;
...
...
@@ -580,7 +580,7 @@ sub new_config {
$self
->
run_section_rules
(
$config
,
'
cluster_config
\
.
\
w*
',
'
cluster_config
\
.
\
w*
$
',
@cluster_config_rules
);
$self
->
run_generate_sections_from_cluster_config
(
$config
);
...
...
mysql-test/lib/mtr_cases.pm
View file @
692291b4
...
...
@@ -721,6 +721,16 @@ sub collect_one_test_case {
# Add slave opts, list of extra option only for slave
# ----------------------------------------------------------------------
process_opts_file
(
$tinfo
,
"
$testdir
/
$tname
-slave.opt
",
'
slave_opt
');
#-----------------------------------------------------------------------
# Check for test specific config file
#-----------------------------------------------------------------------
my
$test_cnf_file
=
"
$testdir
/
$tname
.cnf
";
if
(
-
f
$test_cnf_file
)
{
# Specifies the configuration file to use for this test
$tinfo
->
{'
template_path
'}
=
$test_cnf_file
;
}
# ----------------------------------------------------------------------
# Check for test specific config file
...
...
mysql-test/mysql-test-run.pl
View file @
692291b4
...
...
@@ -196,9 +196,12 @@ our %mysqld_variables;
my
$source_dist
=
0
;
our
$opt_max_save_core
=
5
;
my
$opt_max_save_core
=
$ENV
{
MTR_MAX_SAVE_CORE
}
||
5
;
my
$num_saved_cores
=
0
;
# Number of core files saved in vardir/log/ so far.
my
$opt_max_save_datadir
=
$ENV
{
MTR_MAX_SAVE_DATADIR
}
||
20
;
my
$num_saved_datadir
=
0
;
# Number of datadirs saved in vardir/log/ so far.
select
(
STDOUT
);
$|
=
1
;
# Automatically flush STDOUT
...
...
@@ -641,6 +644,7 @@ sub command_line_setup {
'
client-debugger=s
'
=>
\
$opt_client_debugger
,
'
strace-client:s
'
=>
\
$opt_strace_client
,
'
max-save-core=i
'
=>
\
$opt_max_save_core
,
'
max-save-datadir=i
'
=>
\
$opt_max_save_datadir
,
# Coverage, profiling etc
'
gcov
'
=>
\
$opt_gcov
,
...
...
@@ -2567,6 +2571,10 @@ sub run_testcase ($) {
if
(
started
(
all_servers
())
==
0
)
{
# Remove old datadirs
clean_datadir
();
# Restore old ENV
while
(
my
(
$option
,
$value
)
=
each
(
%
old_env
))
{
if
(
defined
$value
){
...
...
@@ -2690,15 +2698,12 @@ sub run_testcase ($) {
mtr_report_test_passed
(
$tinfo
,
$opt_timer
);
}
if
(
$opt_check_testcases
)
if
(
$opt_check_testcases
and
check_testcase
(
$tinfo
,
"
after
")
)
{
if
(
check_testcase
(
$tinfo
,
"
after
"))
{
# Stop all servers that are known to be running
stop_all_servers
();
after_test_failure
(
$tinfo
->
{'
name
'});
mtr_report
("
Resuming tests...
\n
");
}
# Stop all servers that are known to be running
stop_all_servers
();
clean_datadir
();
mtr_report
("
Resuming tests...
\n
");
}
}
elsif
(
$res
==
62
)
...
...
@@ -2765,7 +2770,7 @@ sub run_testcase ($) {
{
# Server failed, probably crashed
$tinfo
->
{
comment
}
=
"
Server failed during test run
";
"
Server
$proc
failed during test run
";
report_failure_and_restart
(
$tinfo
);
return
1
;
...
...
@@ -2910,67 +2915,119 @@ sub check_expected_crash_and_restart {
}
sub
clean_datadir
{
mtr_verbose
("
Cleaning datadirs...
");
foreach
my
$cluster
(
clusters
()
)
{
my
$cluster_dir
=
"
$opt_vardir
/
"
.
$cluster
->
{
name
};
mtr_verbose
("
- removing '
$cluster_dir
'
");
rmtree
(
$cluster_dir
);
}
foreach
my
$mysqld
(
mysqlds
()
)
{
my
$mysqld_dir
=
dirname
(
$mysqld
->
value
('
datadir
'));
if
(
-
d
$mysqld_dir
)
{
mtr_verbose
("
- removing '
$mysqld_dir
'
");
rmtree
(
$mysqld_dir
);
}
}
# Remove all files in tmp and var/tmp
rmtree
("
$opt_vardir
/tmp
");
mkpath
("
$opt_vardir
/tmp
");
if
(
$opt_tmpdir
ne
"
$opt_vardir
/tmp
"){
rmtree
(
$opt_tmpdir
);
mkpath
(
$opt_tmpdir
);
}
}
#
# Save any interesting files in the data_dir
# before the data dir is removed.
# Limit number of core files saved
#
sub
save_files_after_test_failure
($$)
{
my
$test_name
=
shift
;
my
$data_dir
=
shift
;
my
$save_name
=
"
$opt_vardir
/log/
$test_name
";
sub
limit_cores_after_failure
($)
{
my
(
$datadir
)
=
@_
;
# Look for core files
foreach
my
$core_file
(
glob
("
$data
_
dir
/core*
")
)
foreach
my
$core_file
(
glob
("
$datadir
/core*
")
)
{
last
if
$opt_max_save_core
>
0
&&
$num_saved_cores
>=
$opt_max_save_core
;
my
$core_name
=
basename
(
$core_file
);
mtr_report
("
- saving '
$core_name
'
");
mkpath
(
$save_name
)
if
!
-
d
$save_name
;
rename
("
$core_file
",
"
$save_name
/
$core_name
");
if
(
$opt_max_save_core
>
0
&&
$num_saved_cores
>=
$opt_max_save_core
)
{
# Delete file to avoid saving it when the datadir is later saved
mtr_report
("
- deleting '
$core_name
'
",
"
(
$num_saved_cores
/
$opt_max_save_core
)
");
unlink
("
$core_file
");
}
else
{
mtr_report
("
- found '
$core_name
'
",
"
(
$num_saved_cores
/
$opt_max_save_core
)
");
}
++
$num_saved_cores
;
}
}
#
# Save datadir before it's removed
#
sub
save_datadir_after_failure
($$)
{
my
(
$dir
,
$savedir
)
=
@_
;
sub
after_test_failure
($)
{
my
$test_name
=
shift
;
mtr_report
("
Cleaning datadirs...
");
foreach
my
$mysqld
(
mysqlds
()
)
if
(
$opt_max_save_datadir
>
0
&&
$num_saved_datadir
>=
$opt_max_save_datadir
)
{
my
$data_dir
=
$mysqld
->
value
('
datadir
');
my
$name
=
basename
(
$data_dir
);
save_files_after_test_failure
(
$test_name
,
$data_dir
);
mtr_debug
("
Removing '
$data_dir
'
");
rmtree
(
$data_dir
);
mtr_report
("
- skipping '
$dir
'
");
}
else
{
mtr_report
("
- saving '
$dir
'
");
my
$dir_name
=
basename
(
$dir
);
rename
("
$dir
",
"
$savedir
/
$dir_name
");
}
}
# Remove the ndb_*_fs dirs for all ndbd nodes
# forcing a clean start of ndb next time
foreach
my
$cluster
(
clusters
()
)
{
foreach
my
$ndbd
(
ndbds
(
$cluster
)
)
{
my
$data_dir
=
$ndbd
->
value
('
DataDir
');
foreach
my
$fs_dir
(
glob
("
$data_dir
/ndb_*_fs
")
)
{
rmtree
(
$fs_dir
);
mtr_debug
("
Removing '
$fs_dir
'
");
sub
after_failure
($)
{
my
(
$tinfo
)
=
@_
;
mtr_report
("
Saving datadirs...
");
my
$save_dir
=
"
$opt_vardir
/log/
";
$save_dir
.=
$tinfo
->
{
name
};
# Add combination name if any
$save_dir
.=
"
_
$tinfo
->{combination}
"
if
defined
$tinfo
->
{
combination
};
mkpath
(
$save_dir
)
if
!
-
d
$save_dir
;
# Save the used my.cnf file
copy
(
$path_config_file
,
$save_dir
);
if
(
clusters
()
)
{
foreach
my
$cluster
(
clusters
()
)
{
foreach
my
$server
(
ndbds
(
$cluster
),
ndb_mgmds
(
$cluster
)
)
{
my
$data_dir
=
$server
->
value
('
DataDir
');
limit_cores_after_failure
(
$data_dir
);
}
my
$backup_dir
=
$ndbd
->
value
('
BackupDataDir
');
rmtree
("
$backup_dir
/BACKUP
");
mtr_debug
("
Removing '
$backup_dir
'
");
my
$cluster_dir
=
"
$opt_vardir
/
"
.
$cluster
->
{
name
};
save_datadir_after_failure
(
$cluster_dir
,
$save_dir
);
}
}
# Remove all files in tmp and var/tmp
rmtree
("
$opt_vardir
/tmp
");
mkpath
("
$opt_vardir
/tmp
");
if
(
$opt_tmpdir
ne
"
$opt_vardir
/tmp
"){
rmtree
(
$opt_tmpdir
);
mkpath
(
$opt_tmpdir
);
else
{
foreach
my
$mysqld
(
mysqlds
()
)
{
my
$data_dir
=
$mysqld
->
value
('
datadir
');
limit_cores_after_failure
(
$data_dir
);
save_datadir_after_failure
(
dirname
(
$data_dir
),
$save_dir
);
}
}
$num_saved_datadir
++
;
clean_datadir
();
}
...
...
@@ -2983,7 +3040,7 @@ sub report_failure_and_restart ($) {
stop_all_servers
();
# Collect and clean files
after_
test_failure
(
$tinfo
->
{'
name
'}
);
after_
failure
(
$tinfo
);
mtr_report
("
Resuming tests...
\n
");
}
...
...
@@ -4117,7 +4174,12 @@ Options for debugging the product
Example: $0 --strace-client=ktrace
max-save-core Limit the number of core files saved (to avoid filling
up disks for heavily crashing server). Defaults to
$opt_max_save_core, set to 0 for no limit.
$opt_max_save_core, set to 0 for no limit. Set
it's default with MTR_MAX_SAVE_CORE
max-save-datadir Limit the number of datadir saved (to avoid filling
up disks for heavily crashing server). Defaults to
$opt_max_save_datadir, set to 0 for no limit. Set
it's default with MTR_MAX_SAVE_DATDIR
Options for valgrind
...
...
mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result
View file @
692291b4
*** Set up circular ring by schema A->B->C-D->A ***
*** Set up circular ring by schema A->B->C-
>
D->A ***
stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
...
...
mysql-test/suite/rpl/t/disabled.def
View file @
692291b4
...
...
@@ -15,5 +15,4 @@ rpl_innodb_bug28430 : Bug #32247 2007-11-27 mats Test reports wrong value o
rpl_view : Bug#32654: rpl_view.test fails randomly
rpl_ndb_multi : Bug#30751: rpl_ndb_multi missing row in output
rpl_log_pos : Bug#8693 Test 'rpl_log_pos' fails sometimes
rpl_circular_for_4_hosts : Needs updated config
mysql-test/suite/rpl/t/rpl_circular_for_4_hosts-master.opt
deleted
100644 → 0
View file @
d0d79913
--slave-num=3 --log-slave-updates --innodb
mysql-test/suite/rpl/t/rpl_circular_for_4_hosts-slave.opt
deleted
100644 → 0
View file @
d0d79913
--log-slave-updates --innodb
mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf
0 → 100644
View file @
692291b4
!include ../my.cnf
[mysqld.1]
log-slave-updates
innodb
[mysqld.2]
log-slave-updates
innodb
[mysqld.3]
log-slave-updates
innodb
[mysqld.4]
log-slave-updates
innodb
[ENV]
SLAVE_MYPORT1= @mysqld.3.port
SLAVE_MYSOCK1= @mysqld.3.socket
SLAVE_MYPORT2= @mysqld.4.port
SLAVE_MYSOCK2= @mysqld.4.socket
mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result
View file @
692291b4
...
...
@@ -97,5 +97,6 @@ COUNT(*) SUM(a) b
100 64100 master1
100 64000 slave
DELETE FROM t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
mysql-test/suite/rpl_ndb/t/disabled.def
View file @
692291b4
...
...
@@ -12,6 +12,5 @@
rpl_ndb_circular : Bug#33849 COMMIT event missing in cluster circular replication.
rpl_ndb_circular_simplex : Bug#33849 COMMIT event missing in cluster circular replication.
rpl_ndb_circular_2ch : Bug#33849 COMMIT event missing in cluster circular replication.
# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open
rpl_ndb_circular_2ch : Needs updated config
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch-master.opt
deleted
100644 → 0
View file @
d0d79913
--slave-num=2 --server-id=1 --log-bin -log-slave-updates
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch-slave.opt
deleted
100644 → 0
View file @
d0d79913
--server-id=2 --log-bin --log-slave-updates --skip-slave-start
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf
0 → 100644
View file @
692291b4
!include ../my.cnf
[mysqld.1.1]
server-id= 1
log-bin
log-slave-updates
[mysqld.2.1]
server-id= 1
log-bin
log-slave-updates
[mysqld.1.slave]
server-id= 2
log-bin
log-slave-updates
skip-slave-start
[mysqld.2.slave]
server-id= 2
master-host= 127.0.0.1
master-port= @mysqld.2.1.port
master-password= @mysqld.2.1.#password
master-user= @mysqld.2.1.#user
master-connect-retry= 1
init-rpl-role= slave
log-bin
log-slave-updates
skip-slave-start
ndb_connectstring= @mysql_cluster.slave.ndb_connectstring
[ENV]
SLAVE_MYPORT1= @mysqld.2.slave.port
SLAVE_MYSOCK1= @mysqld.2.slave.socket
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test
View file @
692291b4
...
...
@@ -170,10 +170,11 @@ SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 3 GROUP BY b ORDER BY b;
# Clean up
--
connection
master
D
ELETE
FROM
t1
;
D
ROP
TABLE
t1
;
--
connection
slave
let
$wait_condition
=
SELECT
COUNT
(
*
)
=
0
FROM
t1
;
--
source
include
/
wait_condition
.
inc
--
disable_warings
DROP
TABLE
IF
EXISTS
t1
;
--
enable_warnings
--
echo
# End of test 5.1
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment