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
af9a3e88
Commit
af9a3e88
authored
Apr 15, 2002
by
sasha@mysql.sashanet.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge work:/home/bk/mysql-4.0
into mysql.sashanet.com:/reiser-data/mysql-4.0
parents
eaa66555
d7b7e092
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
320 additions
and
282 deletions
+320
-282
mysql-test/r/rpl000014.result
mysql-test/r/rpl000014.result
+1
-1
mysql-test/r/rpl_log.result
mysql-test/r/rpl_log.result
+1
-1
sql/mysqld.cc
sql/mysqld.cc
+11
-0
sql/slave.cc
sql/slave.cc
+26
-6
sql/slave.h
sql/slave.h
+1
-1
sql/sql_yacc.yy
sql/sql_yacc.yy
+280
-273
No files found.
mysql-test/r/rpl000014.result
View file @
af9a3e88
...
@@ -8,7 +8,7 @@ File Position Binlog_do_db Binlog_ignore_db
...
@@ -8,7 +8,7 @@ File Position Binlog_do_db Binlog_ignore_db
master-bin.001 79
master-bin.001 79
show slave status;
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
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 79 slave-relay-bin.002 120 master-bin.001 Yes Yes 0 0 79 12
4
127.0.0.1 root MASTER_PORT 1 master-bin.001 79 slave-relay-bin.002 120 master-bin.001 Yes Yes 0 0 79 12
8
change master to master_log_pos=73;
change master to master_log_pos=73;
slave stop;
slave stop;
change master to master_log_pos=73;
change master to master_log_pos=73;
...
...
mysql-test/r/rpl_log.result
View file @
af9a3e88
...
@@ -75,7 +75,7 @@ slave-bin.002 115 Query 1 62 use test; insert into t1 values (1)
...
@@ -75,7 +75,7 @@ slave-bin.002 115 Query 1 62 use test; insert into t1 values (1)
slave-bin.002 175 Query 1 122 use test; drop table t1
slave-bin.002 175 Query 1 122 use test; drop table t1
show slave status;
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
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.002 170 slave-relay-bin.002 916 master-bin.002 Yes Yes 0 0 170 92
0
127.0.0.1 root MASTER_PORT 1 master-bin.002 170 slave-relay-bin.002 916 master-bin.002 Yes Yes 0 0 170 92
4
show new master for slave with master_log_file='master-bin.001' and
show new master for slave with master_log_file='master-bin.001' and
master_log_pos=4 and master_server_id=1;
master_log_pos=4 and master_server_id=1;
Log_name Log_pos
Log_name Log_pos
...
...
sql/mysqld.cc
View file @
af9a3e88
...
@@ -227,6 +227,11 @@ SHOW_COMP_OPTION have_query_cache=SHOW_OPTION_NO;
...
@@ -227,6 +227,11 @@ SHOW_COMP_OPTION have_query_cache=SHOW_OPTION_NO;
#endif
#endif
bool
opt_skip_slave_start
=
0
;
// If set, slave is not autostarted
bool
opt_skip_slave_start
=
0
;
// If set, slave is not autostarted
/* if set, some standard measures to enforce
slave data intergity will not be performed
*/
bool
opt_reckless_slave
=
0
;
static
bool
opt_do_pstack
=
0
;
static
bool
opt_do_pstack
=
0
;
static
ulong
opt_specialflag
=
SPECIAL_ENGLISH
;
static
ulong
opt_specialflag
=
SPECIAL_ENGLISH
;
static
ulong
back_log
,
connect_timeout
,
concurrency
;
static
ulong
back_log
,
connect_timeout
,
concurrency
;
...
@@ -2741,6 +2746,7 @@ enum options {
...
@@ -2741,6 +2746,7 @@ enum options {
OPT_RPL_RECOVERY_RANK
,
OPT_INIT_RPL_ROLE
,
OPT_RPL_RECOVERY_RANK
,
OPT_INIT_RPL_ROLE
,
OPT_RELAY_LOG
,
OPT_RELAY_LOG_INDEX
,
OPT_RELAY_LOG_INFO_FILE
,
OPT_RELAY_LOG
,
OPT_RELAY_LOG_INDEX
,
OPT_RELAY_LOG_INFO_FILE
,
OPT_SLAVE_SKIP_ERRORS
,
OPT_DES_KEY_FILE
,
OPT_LOCAL_INFILE
,
OPT_SLAVE_SKIP_ERRORS
,
OPT_DES_KEY_FILE
,
OPT_LOCAL_INFILE
,
OPT_RECKLESS_SLAVE
,
OPT_SSL_SSL
,
OPT_SSL_KEY
,
OPT_SSL_CERT
,
OPT_SSL_CA
,
OPT_SSL_SSL
,
OPT_SSL_KEY
,
OPT_SSL_CERT
,
OPT_SSL_CA
,
OPT_SSL_CAPATH
,
OPT_SSL_CIPHER
OPT_SSL_CAPATH
,
OPT_SSL_CIPHER
};
};
...
@@ -2851,6 +2857,7 @@ static struct option long_options[] = {
...
@@ -2851,6 +2857,7 @@ static struct option long_options[] = {
#endif
#endif
{
"pid-file"
,
required_argument
,
0
,
(
int
)
OPT_PID_FILE
},
{
"pid-file"
,
required_argument
,
0
,
(
int
)
OPT_PID_FILE
},
{
"port"
,
required_argument
,
0
,
'P'
},
{
"port"
,
required_argument
,
0
,
'P'
},
{
"reckless-slave"
,
no_argument
,
0
,
(
int
)
OPT_RECKLESS_SLAVE
},
{
"replicate-do-db"
,
required_argument
,
0
,
(
int
)
OPT_REPLICATE_DO_DB
},
{
"replicate-do-db"
,
required_argument
,
0
,
(
int
)
OPT_REPLICATE_DO_DB
},
{
"replicate-do-table"
,
required_argument
,
0
,
{
"replicate-do-table"
,
required_argument
,
0
,
(
int
)
OPT_REPLICATE_DO_TABLE
},
(
int
)
OPT_REPLICATE_DO_TABLE
},
...
@@ -3941,6 +3948,10 @@ static void get_options(int argc,char **argv)
...
@@ -3941,6 +3948,10 @@ static void get_options(int argc,char **argv)
opt_slow_log
=
1
;
opt_slow_log
=
1
;
opt_slow_logname
=
optarg
;
opt_slow_logname
=
optarg
;
break
;
break
;
case
(
int
)
OPT_RECKLESS_SLAVE
:
opt_reckless_slave
=
1
;
init_slave_skip_errors
(
"all"
);
break
;
case
(
int
)
OPT_SKIP_SLAVE_START
:
case
(
int
)
OPT_SKIP_SLAVE_START
:
opt_skip_slave_start
=
1
;
opt_skip_slave_start
=
1
;
break
;
break
;
...
...
sql/slave.cc
View file @
af9a3e88
...
@@ -191,11 +191,22 @@ int init_relay_log_pos(RELAY_LOG_INFO* rli,const char* log,
...
@@ -191,11 +191,22 @@ int init_relay_log_pos(RELAY_LOG_INFO* rli,const char* log,
pos
=
rli
->
relay_log_pos
;
// already inited
pos
=
rli
->
relay_log_pos
;
// already inited
else
else
rli
->
relay_log_pos
=
pos
;
rli
->
relay_log_pos
=
pos
;
if
(
rli
->
relay_log
.
find_first_log
(
&
rli
->
linfo
,
log
))
// test to see if the previous run was with the skip of purging
// if yes, we do not purge when we restart
if
(
rli
->
relay_log
.
find_first_log
(
&
rli
->
linfo
,
""
))
{
{
*
errmsg
=
"Could not find first log during relay log initialization"
;
*
errmsg
=
"Could not find first log during relay log initialization"
;
goto
err
;
goto
err
;
}
}
if
(
strcmp
(
log
,
rli
->
linfo
.
log_file_name
))
rli
->
skip_log_purge
=
1
;
if
(
rli
->
relay_log
.
find_first_log
(
&
rli
->
linfo
,
log
))
{
*
errmsg
=
"Could not find target log during relay log initialization"
;
goto
err
;
}
strnmov
(
rli
->
relay_log_name
,
rli
->
linfo
.
log_file_name
,
strnmov
(
rli
->
relay_log_name
,
rli
->
linfo
.
log_file_name
,
sizeof
(
rli
->
relay_log_name
));
sizeof
(
rli
->
relay_log_name
));
// to make end_io_cache(&rli->cache_buf) safe in all cases
// to make end_io_cache(&rli->cache_buf) safe in all cases
...
@@ -2497,6 +2508,15 @@ Log_event* next_event(RELAY_LOG_INFO* rli)
...
@@ -2497,6 +2508,15 @@ Log_event* next_event(RELAY_LOG_INFO* rli)
return
ev
;
return
ev
;
}
}
DBUG_ASSERT
(
thd
==
rli
->
sql_thd
);
DBUG_ASSERT
(
thd
==
rli
->
sql_thd
);
if
(
opt_reckless_slave
)
cur_log
->
error
=
0
;
if
(
cur_log
->
error
<
0
)
{
errmsg
=
"slave SQL thread aborted because of I/O error"
;
goto
err
;
}
if
(
!
cur_log
->
error
)
/* EOF */
if
(
!
cur_log
->
error
)
/* EOF */
{
{
/*
/*
...
@@ -2605,12 +2625,12 @@ event(errno=%d,cur_log->error=%d)",
...
@@ -2605,12 +2625,12 @@ event(errno=%d,cur_log->error=%d)",
my_errno
,
cur_log
->
error
);
my_errno
,
cur_log
->
error
);
// set read position to the beginning of the event
// set read position to the beginning of the event
my_b_seek
(
cur_log
,
rli
->
relay_log_pos
+
rli
->
pending
);
my_b_seek
(
cur_log
,
rli
->
relay_log_pos
+
rli
->
pending
);
// no need to hog the mutex while we sleep
/* otherwise, we have had a partial read */
pthread_mutex_unlock
(
&
rli
->
data_lock
);
/* TODO; see if there is a way to do this without this goto */
safe_sleep
(
rli
->
sql_thd
,
1
,(
CHECK_KILLED_FUNC
)
sql_slave_killed
,
errmsg
=
"Aborting slave SQL thread because of partial event read"
;
(
void
*
)
rli
);
goto
err
;
pthread_mutex_lock
(
&
rli
->
data_lock
);
}
}
}
}
if
(
!
errmsg
&&
was_killed
)
if
(
!
errmsg
&&
was_killed
)
errmsg
=
"slave SQL thread was killed"
;
errmsg
=
"slave SQL thread was killed"
;
...
...
sql/slave.h
View file @
af9a3e88
...
@@ -30,7 +30,7 @@ extern bool use_slave_mask;
...
@@ -30,7 +30,7 @@ extern bool use_slave_mask;
extern
char
*
slave_load_tmpdir
;
extern
char
*
slave_load_tmpdir
;
extern
my_string
master_info_file
,
relay_log_info_file
;
extern
my_string
master_info_file
,
relay_log_info_file
;
extern
my_string
opt_relay_logname
,
opt_relaylog_index_name
;
extern
my_string
opt_relay_logname
,
opt_relaylog_index_name
;
extern
bool
opt_skip_slave_start
;
extern
bool
opt_skip_slave_start
,
opt_reckless_slave
;
extern
ulong
relay_log_space_limit
;
extern
ulong
relay_log_space_limit
;
struct
st_master_info
;
struct
st_master_info
;
...
...
sql/sql_yacc.yy
View file @
af9a3e88
This diff is collapsed.
Click to expand it.
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