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
df4289be
Commit
df4289be
authored
Nov 19, 2003
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
parents
8c3d731b
19b24b29
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
122 additions
and
15 deletions
+122
-15
BUILD/compile-pentium-gcov
BUILD/compile-pentium-gcov
+1
-1
libmysql_r/Makefile.am
libmysql_r/Makefile.am
+1
-1
myisam/mi_test2.c
myisam/mi_test2.c
+2
-2
mysql-test/r/rpl_change_master.result
mysql-test/r/rpl_change_master.result
+32
-0
mysql-test/r/rpl_loaddata.result
mysql-test/r/rpl_loaddata.result
+1
-1
mysql-test/t/rpl_change_master.test
mysql-test/t/rpl_change_master.test
+26
-0
mysys/mf_keycache.c
mysys/mf_keycache.c
+1
-1
mysys/thr_alarm.c
mysys/thr_alarm.c
+2
-0
scripts/Makefile.am
scripts/Makefile.am
+1
-0
scripts/mysql_config.sh
scripts/mysql_config.sh
+1
-1
sql/mini_client.cc
sql/mini_client.cc
+9
-4
sql/sql_repl.cc
sql/sql_repl.cc
+45
-4
No files found.
BUILD/compile-pentium-gcov
View file @
df4289be
...
...
@@ -3,7 +3,7 @@
path
=
`
dirname
$0
`
.
"
$path
/SETUP.sh"
extra_flags
=
"
$pentium_cflags
-fprofile-arcs -ftest-coverage -fmessage-length=0
"
extra_flags
=
"
$pentium_cflags
-O2 -fprofile-arcs -ftest-coverage -fmessage-length=0
"
extra_configs
=
"
$pentium_configs
$debug_configs
--disable-shared
$static_link
"
extra_configs
=
"
$extra_configs
--with-innodb --with-berkeley-db"
...
...
libmysql_r/Makefile.am
View file @
df4289be
...
...
@@ -19,7 +19,7 @@
target
=
libmysqlclient_r.la
target_defs
=
-DDONT_USE_RAID
@LIB_EXTRA_CCFLAGS@
## LIBS = @LIBS
@
LIBS
=
@LIBS@ @openssl_libs
@
INCLUDES
=
@MT_INCLUDES@
-I
$(srcdir)
/../include
-I
../include
\
-I
$(srcdir)
/..
-I
$(top_srcdir)
-I
..
$(openssl_includes)
...
...
myisam/mi_test2.c
View file @
df4289be
...
...
@@ -267,9 +267,9 @@ int main(int argc, char *argv[])
puts
(
"got error from mi_extra(HA_EXTRA_NO_CACHE)"
);
goto
end
;
}
}
if
(
key_cacheing
)
resize_key_cache
(
key_cache_size
*
2
);
}
if
(
!
silent
)
printf
(
"- Delete
\n
"
);
...
...
mysql-test/r/rpl_change_master.result
0 → 100644
View file @
df4289be
slave stop;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
slave start;
select get_lock("a",5);
get_lock("a",5)
1
create table t1(n int);
insert into t1 values(1+get_lock("a",10)*0);
insert into t1 values(2);
stop slave;
select * from t1;
n
1
show slave status;
Master_Host Master_User Master_Port Connect_retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter Exec_master_log_pos Relay_log_space
127.0.0.1 root 9306 1 master-bin.001 273 slave-relay-bin.002 255 master-bin.001 No No 0 0 214 314
change master to master_user='root';
show slave status;
Master_Host Master_User Master_Port Connect_retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter Exec_master_log_pos Relay_log_space
127.0.0.1 root 9306 1 master-bin.001 214 slave-relay-bin.001 4 master-bin.001 No No 0 0 214 4
select release_lock("a");
release_lock("a")
1
start slave;
select * from t1;
n
1
2
drop table t1;
mysql-test/r/rpl_loaddata.result
View file @
df4289be
...
...
@@ -43,7 +43,7 @@ change master to master_user='test';
change master to master_user='root';
show slave status;
Master_Host Master_User Master_Port Connect_retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter Exec_master_log_pos Relay_log_space
127.0.0.1 root MASTER_PORT 1 master-bin.001 14
42 slave-relay-bin.001 4 master-bin.001 No No 0 0 1442
4
127.0.0.1 root MASTER_PORT 1 master-bin.001 14
19 slave-relay-bin.001 4 master-bin.001 No No 0 0 1419
4
set global sql_slave_skip_counter=1;
start slave;
set sql_log_bin=0;
...
...
mysql-test/t/rpl_change_master.test
0 → 100644
View file @
df4289be
source
include
/
master
-
slave
.
inc
;
connection
slave
;
select
get_lock
(
"a"
,
5
);
connection
master
;
create
table
t1
(
n
int
);
insert
into
t1
values
(
1
+
get_lock
(
"a"
,
10
)
*
0
);
insert
into
t1
values
(
2
);
save_master_pos
;
connection
slave
;
sleep
3
;
# can't sync_with_master as we should be blocked
stop
slave
;
select
*
from
t1
;
show
slave
status
;
change
master
to
master_user
=
'root'
;
show
slave
status
;
# Will restart from after the values(2), which is bug
select
release_lock
(
"a"
);
start
slave
;
sync_with_master
;
select
*
from
t1
;
connection
master
;
drop
table
t1
;
save_master_pos
;
connection
slave
;
sync_with_master
;
mysys/mf_keycache.c
View file @
df4289be
...
...
@@ -669,7 +669,7 @@ static int flush_key_blocks_int(File file, enum flush_type type)
Flush all blocks for a specific file to disk
SYNOPSIS
flush_
all_
key_blocks()
flush_key_blocks()
file File descriptor
type Type of flush operation
...
...
mysys/thr_alarm.c
View file @
df4289be
...
...
@@ -770,7 +770,9 @@ bool thr_got_alarm(thr_alarm_t *alrm_ptr)
void
thr_end_alarm
(
thr_alarm_t
*
alrm_ptr
)
{
thr_alarm_t
alrm
=
*
alrm_ptr
;
/* alrm may be zero if thr_alarm aborted with an error */
if
(
alrm
&&
alrm
->
crono
)
{
KillTimer
(
NULL
,
alrm
->
crono
);
alrm
->
crono
=
0
;
...
...
scripts/Makefile.am
View file @
df4289be
...
...
@@ -114,6 +114,7 @@ SUFFIXES = .sh
-e
's!@''LDFLAGS''@!@SAVE_LDFLAGS@!'
\
-e
's!@''CLIENT_LIBS''@!@CLIENT_LIBS@!'
\
-e
's!@''LIBS''@!@LIBS@!'
\
-e
's!@''WRAPLIBS''@!@WRAPLIBS@!'
\
-e
's!@''innodb_system_libs''@!@innodb_system_libs@!'
\
-e
's!@''openssl_libs''@!@openssl_libs@!'
\
-e
's!@''VERSION''@!@VERSION@!'
\
...
...
scripts/mysql_config.sh
View file @
df4289be
...
...
@@ -92,7 +92,7 @@ libs_r="$ldflags -L$pkglibdir -lmysqlclient_r @LIBS@ @openssl_libs@"
libs_r
=
`
echo
"
$libs_r
"
|
sed
-e
's; \+; ;g'
|
sed
-e
's;^ *;;'
|
sed
-e
's; *\$;;'
`
cflags
=
"-I
$pkgincludedir
@CFLAGS@"
include
=
"-I
$pkgincludedir
"
embedded_libs
=
"
$ldflags
-L
$pkglibdir
-lmysqld @LIBS@ @innodb_system_libs@"
embedded_libs
=
"
$ldflags
-L
$pkglibdir
-lmysqld @LIBS@ @
WRAPLIBS@ @
innodb_system_libs@"
embedded_libs
=
`
echo
"
$embedded_libs
"
|
sed
-e
's; \+; ;g'
|
sed
-e
's;^ *;;'
|
sed
-e
's; *\$;;'
`
# Remove some options that a client doesn't have to care about
...
...
sql/mini_client.cc
View file @
df4289be
...
...
@@ -18,8 +18,8 @@
mini MySQL client to be included into the server to do server to server
commincation by Sasha Pachev
Note: all file-global symbols must begin with mc_ , even the static ones, just
in case we decide to make them external at some point
Note: all file-global symbols must begin with mc_ , even the static ones,
just
in case we decide to make them external at some point
*/
#include <my_global.h>
...
...
@@ -655,6 +655,11 @@ mc_mysql_connect(MYSQL *mysql,const char *host, const char *user,
sprintf
(
host_info
=
buff
,
ER
(
CR_TCP_CONNECTION
),
host
);
DBUG_PRINT
(
"info"
,(
"Server name: '%s'. TCP sock: %d"
,
host
,
port
));
thr_alarm_init
(
&
alarmed
);
/*
We don't have to check status for thr_alarm as it's not fatal if
we didn't manage to set an alarm. (In this case the socket call
will just block for a while).
*/
thr_alarm
(
&
alarmed
,
net_read_timeout
,
&
alarm_buff
);
sock
=
(
my_socket
)
socket
(
AF_INET
,
SOCK_STREAM
,
0
);
thr_end_alarm
(
&
alarmed
);
...
...
sql/sql_repl.cc
View file @
df4289be
...
...
@@ -853,8 +853,8 @@ void kill_zombie_dump_threads(uint32 slave_server_id)
int
change_master
(
THD
*
thd
,
MASTER_INFO
*
mi
)
{
int
thread_mask
;
const
char
*
errmsg
=
0
;
bool
need_relay_log_purge
=
1
;
const
char
*
errmsg
=
0
;
bool
need_relay_log_purge
=
1
;
DBUG_ENTER
(
"change_master"
);
lock_slave_threads
(
mi
);
...
...
@@ -928,6 +928,36 @@ int change_master(THD* thd, MASTER_INFO* mi)
mi
->
rli
.
relay_log_pos
=
lex_mi
->
relay_log_pos
;
}
/*
If user did specify neither host nor port nor any log name nor any log
pos, i.e. he specified only user/password/master_connect_retry, he probably
wants replication to resume from where it had left, i.e. from the
coordinates of the **SQL** thread (imagine the case where the I/O is ahead
of the SQL; restarting from the coordinates of the I/O would lose some
events which is probably unwanted when you are just doing minor changes
like changing master_connect_retry).
A side-effect is that if only the I/O thread was started, this thread may
restart from ''/4 after the CHANGE MASTER. That's a minor problem (it is a
much more unlikely situation than the one we are fixing here).
Note: coordinates of the SQL thread must be read here, before the
'if (need_relay_log_purge)' block which resets them.
*/
if
(
!
lex_mi
->
host
&&
!
lex_mi
->
port
&&
!
lex_mi
->
log_file_name
&&
!
lex_mi
->
pos
&&
need_relay_log_purge
)
{
/*
Sometimes mi->rli.master_log_pos == 0 (it happens when the SQL thread is
not initialized), so we use a max().
What happens to mi->rli.master_log_pos during the initialization stages
of replication is not 100% clear, so we guard against problems using
max().
*/
mi
->
master_log_pos
=
max
(
BIN_LOG_HEADER_SIZE
,
mi
->
rli
.
master_log_pos
);
strmake
(
mi
->
master_log_name
,
mi
->
rli
.
master_log_name
,
sizeof
(
mi
->
master_log_name
)
-
1
);
}
flush_master_info
(
mi
);
if
(
need_relay_log_purge
)
{
...
...
@@ -959,10 +989,21 @@ int change_master(THD* thd, MASTER_INFO* mi)
}
}
DBUG_PRINT
(
"info"
,
(
"master_log_pos: %d"
,
(
ulong
)
mi
->
master_log_pos
));
/* If changing RELAY_LOG_FILE or RELAY_LOG_POS, this will be nonsense: */
/*
Coordinates in rli were spoilt by the 'if (need_relay_log_purge)' block,
so restore them to good values. If we left them to ''/0, that would work;
but that would fail in the case of 2 successive CHANGE MASTER (without a
START SLAVE in between): because first one would set the coords in mi to
the good values of those in rli, the set those in rli to ''/0, then
second CHANGE MASTER would set the coords in mi to those of rli, i.e. to
''/0: we have lost all copies of the original good coordinates.
That's why we always save good coords in rli.
*/
mi
->
rli
.
master_log_pos
=
mi
->
master_log_pos
;
strmake
(
mi
->
rli
.
master_log_name
,
mi
->
master_log_name
,
sizeof
(
mi
->
rli
.
master_log_name
)
-
1
);
if
(
!
mi
->
rli
.
master_log_name
[
0
])
// uninitialized case
mi
->
rli
.
master_log_pos
=
0
;
...
...
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