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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
6b004aa7
Commit
6b004aa7
authored
Dec 13, 2000
by
sasha@mysql.sashanet.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed
parent
c1581940
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
84 additions
and
20 deletions
+84
-20
mysql-test/mysql-test-run
mysql-test/mysql-test-run
+38
-17
mysql-test/r/rpl000015.result
mysql-test/r/rpl000015.result
+14
-0
mysql-test/t/rpl000015-slave-master-info.opt
mysql-test/t/rpl000015-slave-master-info.opt
+1
-0
mysql-test/t/rpl000015.test
mysql-test/t/rpl000015.test
+24
-0
sql/sql_repl.cc
sql/sql_repl.cc
+7
-3
No files found.
mysql-test/mysql-test-run
View file @
6b004aa7
...
@@ -61,6 +61,9 @@ MYSQLD_SRC_DIRS="strings mysys include extra regex isam merge myisam \
...
@@ -61,6 +61,9 @@ MYSQLD_SRC_DIRS="strings mysys include extra regex isam merge myisam \
GCOV_MSG
=
/tmp/mysqld-gcov.out
#gcov output
GCOV_MSG
=
/tmp/mysqld-gcov.out
#gcov output
GCOV_ERR
=
/tmp/mysqld-gcov.err
GCOV_ERR
=
/tmp/mysqld-gcov.err
MASTER_RUNNING
=
0
SLAVE_RUNNING
=
0
[
-d
$MY_TMP_DIR
]
||
mkdir
-p
$MY_TMP_DIR
[
-d
$MY_TMP_DIR
]
||
mkdir
-p
$MY_TMP_DIR
[
-z
$COLUMNS
]
&&
COLUMNS
=
80
[
-z
$COLUMNS
]
&&
COLUMNS
=
80
...
@@ -141,6 +144,7 @@ if [ "$1" = "-force" ] ; then
...
@@ -141,6 +144,7 @@ if [ "$1" = "-force" ] ; then
shift
1
shift
1
fi
fi
if
[
"
$1
"
=
"-record"
]
;
then
if
[
"
$1
"
=
"-record"
]
;
then
RECORD
=
1
RECORD
=
1
shift
1
shift
1
...
@@ -304,6 +308,7 @@ gcov_collect () {
...
@@ -304,6 +308,7 @@ gcov_collect () {
start_master
()
start_master
()
{
{
[
x
$MASTER_RUNNING
=
1
]
&&
return
cd
$BASEDIR
# for gcov
cd
$BASEDIR
# for gcov
#start master
#start master
master_args
=
"--no-defaults --log-bin=master-bin
\
master_args
=
"--no-defaults --log-bin=master-bin
\
...
@@ -330,11 +335,18 @@ start_master()
...
@@ -330,11 +335,18 @@ start_master()
start_slave
()
start_slave
()
{
{
[
x
$SKIP_SLAVE
=
x1
]
&&
return
[
x
$SKIP_SLAVE
=
x1
]
&&
return
slave_args
=
"--no-defaults --server-id=2
\
[
x
$SLAVE_RUNNING
=
1
]
&&
return
--master-user=root
\
if
[
-z
$SLAVE_MASTER_INFO
]
;
then
master_info
=
"--master-user=root
\
--master-connect-retry=1
\
--master-connect-retry=1
\
--master-host=127.0.0.1
\
--master-host=127.0.0.1
\
--master-port=
$MASTER_MYPORT
\
--master-port=
$MASTER_MYPORT
\
--server-id=2"
else
master_info
=
$SLAVE_MASTER_INFO
fi
slave_args
=
"--no-defaults
$master_info
\
--exit-info=256
\
--exit-info=256
\
--log-bin=slave-bin --log-slave-updates
\
--log-bin=slave-bin --log-slave-updates
\
--basedir=
$MY_BASEDIR
\
--basedir=
$MY_BASEDIR
\
...
@@ -413,14 +425,8 @@ mysql_stop ()
...
@@ -413,14 +425,8 @@ mysql_stop ()
mysql_restart
()
{
mysql_restart
()
{
return
1
mysql_stop
mysql_stop
res
=
$?
[
$res
!=
1
]
&&
echo_notok
&&
error
"Stopping mysqld"
mysql_start
mysql_start
res
=
$?
[
$res
!=
1
]
&&
echo_notok
&&
error
"Starting mysqld"
return
1
return
1
}
}
...
@@ -438,6 +444,7 @@ run_testcase ()
...
@@ -438,6 +444,7 @@ run_testcase ()
tname
=
`
$ECHO
$tname
|
$CUT
-d
.
-f
1
`
tname
=
`
$ECHO
$tname
|
$CUT
-d
.
-f
1
`
master_opt_file
=
$TESTDIR
/
$tname
-master
.opt
master_opt_file
=
$TESTDIR
/
$tname
-master
.opt
slave_opt_file
=
$TESTDIR
/
$tname
-slave
.opt
slave_opt_file
=
$TESTDIR
/
$tname
-slave
.opt
slave_master_info_file
=
$TESTDIR
/
$tname
-slave-master-info
.opt
SKIP_SLAVE
=
`
$EXPR
\(
$tname
: rpl
\)
=
0
`
SKIP_SLAVE
=
`
$EXPR
\(
$tname
: rpl
\)
=
0
`
if
[
x
$RECORD
=
x1
]
;
then
if
[
x
$RECORD
=
x1
]
;
then
extra_flags
=
"-r"
extra_flags
=
"-r"
...
@@ -451,27 +458,41 @@ run_testcase ()
...
@@ -451,27 +458,41 @@ run_testcase ()
stop_master
stop_master
start_master
start_master
else
else
if
[
!
-z
EXTRA_MASTER_OPT
]
||
[
x
$MASTER_RUNNING
!=
x1
]
;
if
[
!
-z
$
EXTRA_MASTER_OPT
]
||
[
x
$MASTER_RUNNING
!=
x1
]
;
then
then
EXTRA_MASTER_OPT
=
""
EXTRA_MASTER_OPT
=
""
stop_master
stop_master
start_master
start_master
fi
fi
fi
fi
do_slave_restart
=
0
if
[
-f
$slave_opt_file
]
;
if
[
-f
$slave_opt_file
]
;
then
then
EXTRA_SLAVE_OPT
=
`
cat
$slave_opt_file
`
EXTRA_SLAVE_OPT
=
`
cat
$slave_opt_file
`
stop_slave
do_slave_restart
=
1
start_slave
else
else
if
[
!
-z
EXTRA_SLAVE_OPT
]
||
[
x
$SLAVE_RUNNING
!=
x1
]
;
if
[
!
-z
$
EXTRA_SLAVE_OPT
]
||
[
x
$SLAVE_RUNNING
!=
x1
]
;
then
then
EXTRA_SLAVE_OPT
=
""
EXTRA_SLAVE_OPT
=
""
stop_slave
do_slave_restart
=
1
start_slave
fi
fi
if
[
-f
$slave_master_info_file
]
;
then
SLAVE_MASTER_INFO
=
`
cat
$slave_master_info_file
`
do_slave_restart
=
1
else
if
[
!
-z
$SLAVE_MASTER_INFO
]
||
[
x
$SLAVE_RUNNING
!=
x1
]
;
then
SLAVE_MASTER_INFO
=
""
do_slave_restart
=
1
fi
fi
fi
if
[
x
$do_slave_restart
=
x1
]
;
then
stop_slave
start_slave
fi
fi
cd
$MYSQL_TEST_DIR
cd
$MYSQL_TEST_DIR
...
...
mysql-test/r/rpl000015.result
0 → 100644
View file @
6b004aa7
File Position Binlog_do_db Binlog_ignore_db
master-bin.001 73
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
0 0 0 No
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 test 3306 60 4 No
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 root 9306 60 4 No
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 root 9306 60 4 Yes
n
10
45
90
mysql-test/t/rpl000015-slave-master-info.opt
0 → 100644
View file @
6b004aa7
--server-id=2
mysql-test/t/rpl000015.test
0 → 100644
View file @
6b004aa7
connect
(
master
,
localhost
,
root
,,
test
,
0
,
var
/
tmp
/
mysql
.
sock
);
connect
(
slave
,
localhost
,
root
,,
test
,
0
,
var
/
tmp
/
mysql
-
slave
.
sock
);
connection
master
;
reset
master
;
show
master
status
;
connection
slave
;
reset
slave
;
show
slave
status
;
change
master
to
master_host
=
'127.0.0.1'
;
show
slave
status
;
change
master
to
master_host
=
'127.0.0.1'
,
master_user
=
'root'
,
master_password
=
''
,
master_port
=
9306
;
show
slave
status
;
slave
start
;
show
slave
status
;
connection
master
;
drop
table
if
exists
foo
;
create
table
foo
(
n
int
);
insert
into
foo
values
(
10
),(
45
),(
90
);
connection
slave
;
sleep
0.3
;
select
*
from
foo
;
sql/sql_repl.cc
View file @
6b004aa7
...
@@ -515,6 +515,7 @@ int start_slave(THD* thd , bool net_report)
...
@@ -515,6 +515,7 @@ int start_slave(THD* thd , bool net_report)
{
{
err
=
"cannot create slave thread"
;
err
=
"cannot create slave thread"
;
}
}
while
(
!
slave_running
)
// slave might already be running by now
pthread_cond_wait
(
&
COND_slave_start
,
&
LOCK_slave
);
pthread_cond_wait
(
&
COND_slave_start
,
&
LOCK_slave
);
}
}
else
else
...
@@ -552,6 +553,8 @@ int stop_slave(THD* thd, bool net_report )
...
@@ -552,6 +553,8 @@ int stop_slave(THD* thd, bool net_report )
// do not abort the slave in the middle of a query, so we do not set
// do not abort the slave in the middle of a query, so we do not set
// thd->killed for the slave thread
// thd->killed for the slave thread
thd
->
proc_info
=
"waiting for slave to die"
;
thd
->
proc_info
=
"waiting for slave to die"
;
while
(
slave_running
)
// we may miss slave start broadcast, if it starts
// very quickly
pthread_cond_wait
(
&
COND_slave_stopped
,
&
LOCK_slave
);
pthread_cond_wait
(
&
COND_slave_stopped
,
&
LOCK_slave
);
}
}
else
else
...
@@ -633,6 +636,7 @@ int change_master(THD* thd)
...
@@ -633,6 +636,7 @@ int change_master(THD* thd)
abort_slave
=
1
;
abort_slave
=
1
;
thr_alarm_kill
(
slave_real_id
);
thr_alarm_kill
(
slave_real_id
);
thd
->
proc_info
=
"waiting for slave to die"
;
thd
->
proc_info
=
"waiting for slave to die"
;
while
(
slave_running
)
pthread_cond_wait
(
&
COND_slave_stopped
,
&
LOCK_slave
);
// wait until done
pthread_cond_wait
(
&
COND_slave_stopped
,
&
LOCK_slave
);
// wait until done
}
}
pthread_mutex_unlock
(
&
LOCK_slave
);
pthread_mutex_unlock
(
&
LOCK_slave
);
...
...
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