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
0b98d2fd
Commit
0b98d2fd
authored
May 21, 2014
by
Nirbhay Choubey
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bzr merge -r4065..4088 codership/5.6
parent
0903e2b7
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
57 additions
and
23 deletions
+57
-23
scripts/wsrep_sst_mysqldump.sh
scripts/wsrep_sst_mysqldump.sh
+1
-1
scripts/wsrep_sst_xtrabackup-v2.sh
scripts/wsrep_sst_xtrabackup-v2.sh
+18
-1
sql/wsrep_applier.cc
sql/wsrep_applier.cc
+3
-3
sql/wsrep_binlog.h
sql/wsrep_binlog.h
+3
-0
sql/wsrep_hton.cc
sql/wsrep_hton.cc
+5
-5
sql/wsrep_mysqld.cc
sql/wsrep_mysqld.cc
+5
-5
storage/innobase/row/row0ins.cc
storage/innobase/row/row0ins.cc
+4
-4
storage/innobase/row/row0upd.cc
storage/innobase/row/row0upd.cc
+7
-0
storage/xtradb/row/row0ins.cc
storage/xtradb/row/row0ins.cc
+4
-4
storage/xtradb/row/row0upd.cc
storage/xtradb/row/row0upd.cc
+7
-0
No files found.
scripts/wsrep_sst_mysqldump.sh
View file @
0b98d2fd
...
...
@@ -128,5 +128,5 @@ else
wsrep_log_info
"Bypassing state dump."
echo
$SET_START_POSITION
|
$MYSQL
fi
wsrep_cleanup_progress_file
#
scripts/wsrep_sst_xtrabackup-v2.sh
View file @
0b98d2fd
...
...
@@ -860,10 +860,27 @@ then
fi
fi
if
[[
!
-z
$WSREP_SST_OPT_BINLOG
]]
;
then
BINLOG_DIRNAME
=
$(
dirname
$WSREP_SST_OPT_BINLOG
)
BINLOG_FILENAME
=
$(
basename
$WSREP_SST_OPT_BINLOG
)
# To avoid comparing data directory and BINLOG_DIRNAME
mv
$DATA
/
${
BINLOG_FILENAME
}
.
*
$BINLOG_DIRNAME
/ 2>/dev/null
||
true
pushd
$BINLOG_DIRNAME
&>/dev/null
for
bfiles
in
$(
ls
-1
${
BINLOG_FILENAME
}
.
*
)
;
do
echo
${
BINLOG_DIRNAME
}
/
${
bfiles
}
>>
${
BINLOG_FILENAME
}
.index
done
popd
&> /dev/null
fi
if
[[
$incremental
-eq
1
]]
;
then
# Added --ibbackup=xtrabackup_55 because it fails otherwise citing connection issues.
INNOAPPLY
=
"
${
INNOBACKUPEX_BIN
}
$disver
--defaults-file=
${
WSREP_SST_OPT_CONF
}
\
--ibbackup=xtrabackup_5
5
--apply-log
$rebuildcmd
--redo-only
$BDATA
--incremental-dir=
${
DATA
}
&>>
${
BDATA
}
/innobackup.prepare.log"
--ibbackup=xtrabackup_5
6
--apply-log
$rebuildcmd
--redo-only
$BDATA
--incremental-dir=
${
DATA
}
&>>
${
BDATA
}
/innobackup.prepare.log"
fi
wsrep_log_info
"Preparing the backup at
${
DATA
}
"
...
...
sql/wsrep_applier.cc
View file @
0b98d2fd
...
...
@@ -62,7 +62,6 @@ err:
#include "rpl_rli.h" // class Relay_log_info;
#include "sql_base.h" // close_temporary_table()
static
inline
void
wsrep_set_apply_format
(
THD
*
thd
,
Format_description_log_event
*
ev
)
{
...
...
@@ -94,7 +93,7 @@ static wsrep_cb_status_t wsrep_apply_events(THD* thd,
int
rcode
=
0
;
int
event
=
1
;
DBUG_ENTER
(
"wsrep_apply_
rbr
"
);
DBUG_ENTER
(
"wsrep_apply_
events
"
);
if
(
thd
->
killed
==
KILL_CONNECTION
)
{
...
...
@@ -118,7 +117,6 @@ static wsrep_cb_status_t wsrep_apply_events(THD* thd,
Log_event
*
ev
=
wsrep_read_log_event
(
&
buf
,
&
buf_len
,
wsrep_get_apply_format
(
thd
));
if
(
!
ev
)
{
WSREP_ERROR
(
"applier could not read binlog event, seqno: %lld, len: %zu"
,
...
...
@@ -126,6 +124,7 @@ static wsrep_cb_status_t wsrep_apply_events(THD* thd,
rcode
=
1
;
goto
error
;
}
switch
(
ev
->
get_type_code
())
{
case
FORMAT_DESCRIPTION_EVENT
:
wsrep_set_apply_format
(
thd
,
(
Format_description_log_event
*
)
ev
);
...
...
@@ -368,6 +367,7 @@ wsrep_cb_status_t wsrep_commit_cb(void* const ctx,
return
rcode
;
}
wsrep_cb_status_t
wsrep_unordered_cb
(
void
*
const
ctx
,
const
void
*
const
data
,
size_t
const
size
)
...
...
sql/wsrep_binlog.h
View file @
0b98d2fd
...
...
@@ -46,6 +46,9 @@ int wsrep_write_cache (wsrep_t* wsrep,
/* Dump replication buffer to disk */
void
wsrep_dump_rbr_buf
(
THD
*
thd
,
const
void
*
rbr_buf
,
size_t
buf_len
);
/* Dump replication buffer to disk without intermediate buffer */
void
wsrep_dump_rbr_direct
(
THD
*
thd
,
IO_CACHE
*
cache
);
int
wsrep_binlog_close_connection
(
THD
*
thd
);
int
wsrep_binlog_savepoint_set
(
THD
*
thd
,
void
*
sv
);
int
wsrep_binlog_savepoint_rollback
(
THD
*
thd
,
void
*
sv
);
...
...
sql/wsrep_hton.cc
View file @
0b98d2fd
...
...
@@ -77,10 +77,10 @@ void wsrep_register_hton(THD* thd, bool all)
trans_register_ha
(
thd
,
all
,
wsrep_hton
);
/* follow innodb read/write settting
* but, as an exception: CTAS with empty result set will not be
* but, as an exception: CTAS with empty result set will not be
* replicated unless we declare wsrep hton as read/write here
*/
if
(
i
->
is_trx_read_write
()
||
if
(
i
->
is_trx_read_write
()
||
(
thd
->
lex
->
sql_command
==
SQLCOM_CREATE_TABLE
&&
thd
->
wsrep_exec_mode
==
LOCAL_STATE
))
{
...
...
@@ -104,7 +104,7 @@ void wsrep_post_commit(THD* thd, bool all)
if
(
wsrep
->
post_commit
(
wsrep
,
&
thd
->
wsrep_ws_handle
))
{
DBUG_PRINT
(
"wsrep"
,
(
"set committed fail"
));
WSREP_WARN
(
"set committed fail: %llu %d"
,
WSREP_WARN
(
"set committed fail: %llu %d"
,
(
long
long
)
thd
->
real_id
,
thd
->
get_stmt_da
()
->
status
());
}
wsrep_cleanup_transaction
(
thd
);
...
...
@@ -202,7 +202,7 @@ static int wsrep_rollback(handlerton *hton, THD *thd, bool all)
switch
(
thd
->
wsrep_exec_mode
)
{
case
TOTAL_ORDER
:
case
REPL_RECV
:
case
REPL_RECV
:
mysql_mutex_unlock
(
&
thd
->
LOCK_wsrep_thd
);
WSREP_DEBUG
(
"Avoiding wsrep rollback for failed DDL: %s"
,
thd
->
query
());
DBUG_RETURN
(
0
);
...
...
@@ -280,7 +280,7 @@ wsrep_run_wsrep_commit(THD *thd, handlerton *hton, bool all)
int
replay_round
=
0
;
if
(
thd
->
get_stmt_da
()
->
is_error
())
{
WSREP_ERROR
(
"commit issue, error: %d %s"
,
WSREP_ERROR
(
"commit issue, error: %d %s"
,
thd
->
get_stmt_da
()
->
sql_errno
(),
thd
->
get_stmt_da
()
->
message
());
}
...
...
sql/wsrep_mysqld.cc
View file @
0b98d2fd
...
...
@@ -443,7 +443,7 @@ static void wsrep_synced_cb(void* app_ctx)
active_mi
,
master_info_file
,
relay_log_info_file
,
SLAVE_SQL
)))
SLAVE_SQL
)))
{
WSREP_WARN
(
"Failed to create slave threads: %d"
,
rcode
);
}
...
...
@@ -1008,8 +1008,8 @@ static bool wsrep_prepare_keys_for_isolation(THD* thd,
memset
(
&
tmp_table
,
0
,
sizeof
(
tmp_table
));
tmp_table
.
table_name
=
(
char
*
)
table
;
tmp_table
.
db
=
(
char
*
)
db
;
tmp_table
.
mdl_request
.
init
(
MDL_key
::
GLOBAL
,
(
db
)
?
db
:
""
,
(
table
)
?
table
:
""
,
tmp_table
.
mdl_request
.
init
(
MDL_key
::
GLOBAL
,
(
db
)
?
db
:
""
,
(
table
)
?
table
:
""
,
MDL_INTENTION_EXCLUSIVE
,
MDL_STATEMENT
);
if
(
!
table
||
!
find_temporary_table
(
thd
,
&
tmp_table
))
...
...
@@ -1149,8 +1149,8 @@ int wsrep_to_buf_helper(
/* if there is prepare query, add event for it */
if
(
!
ret
&&
thd
->
wsrep_TOI_pre_query
)
{
Query_log_event
ev
(
thd
,
thd
->
wsrep_TOI_pre_query
,
thd
->
wsrep_TOI_pre_query_len
,
Query_log_event
ev
(
thd
,
thd
->
wsrep_TOI_pre_query
,
thd
->
wsrep_TOI_pre_query_len
,
FALSE
,
FALSE
,
FALSE
,
0
);
if
(
ev
.
write
(
&
tmp_io_cache
))
ret
=
1
;
}
...
...
storage/innobase/row/row0ins.cc
View file @
0b98d2fd
...
...
@@ -1937,6 +1937,10 @@ row_ins_scan_sec_index_for_duplicate(
#ifdef UNIV_SYNC_DEBUG
ut_ad
(
s_latch
==
rw_lock_own
(
&
index
->
lock
,
RW_LOCK_SHARED
));
#endif
/* UNIV_SYNC_DEBUG */
#ifdef WITH_WSREP
/* appliers don't need dupkey checks */
if
(
wsrep_thd_is_BF
(
thr_get_trx
(
thr
)
->
mysql_thd
,
0
))
return
(
DB_SUCCESS
);
#endif
/* WITH_WSREP */
n_unique
=
dict_index_get_n_unique
(
index
);
...
...
@@ -2005,10 +2009,6 @@ row_ins_scan_sec_index_for_duplicate(
lock_type
,
block
,
rec
,
index
,
offsets
,
thr
);
}
else
{
#ifdef WITH_WSREP
/* appliers don't need dupkey checks */
if
(
!
wsrep_thd_is_BF
(
thr_get_trx
(
thr
)
->
mysql_thd
,
0
))
#endif
/* WITH_WSREP */
err
=
row_ins_set_shared_rec_lock
(
lock_type
,
block
,
rec
,
index
,
offsets
,
thr
);
}
...
...
storage/innobase/row/row0upd.cc
View file @
0b98d2fd
...
...
@@ -365,6 +365,7 @@ wsrep_row_upd_check_foreign_constraints(
ulint
n_ext
;
dberr_t
err
;
ibool
got_s_lock
=
FALSE
;
ibool
opened
=
FALSE
;
if
(
UT_LIST_GET_FIRST
(
table
->
foreign_list
)
==
NULL
)
{
...
...
@@ -412,6 +413,7 @@ wsrep_row_upd_check_foreign_constraints(
dict_table_open_on_name
(
foreign
->
referenced_table_name_lookup
,
FALSE
,
FALSE
,
DICT_ERR_IGNORE_NONE
);
opened
=
TRUE
;
}
if
(
foreign
->
referenced_table
)
{
...
...
@@ -440,6 +442,11 @@ wsrep_row_upd_check_foreign_constraints(
(
foreign
->
referenced_table
->
n_foreign_key_checks_running
)
--
;
if
(
opened
==
TRUE
)
{
dict_table_close
(
foreign
->
referenced_table
,
TRUE
,
FALSE
);
opened
=
FALSE
;
}
mutex_exit
(
&
(
dict_sys
->
mutex
));
}
...
...
storage/xtradb/row/row0ins.cc
View file @
0b98d2fd
...
...
@@ -1949,6 +1949,10 @@ row_ins_scan_sec_index_for_duplicate(
#ifdef UNIV_SYNC_DEBUG
ut_ad
(
s_latch
==
rw_lock_own
(
&
index
->
lock
,
RW_LOCK_SHARED
));
#endif
/* UNIV_SYNC_DEBUG */
#ifdef WITH_WSREP
/* appliers don't need dupkey checks */
if
(
wsrep_thd_is_BF
(
thr_get_trx
(
thr
)
->
mysql_thd
,
0
))
return
(
DB_SUCCESS
);
#endif
/* WITH_WSREP */
n_unique
=
dict_index_get_n_unique
(
index
);
...
...
@@ -2017,10 +2021,6 @@ row_ins_scan_sec_index_for_duplicate(
lock_type
,
block
,
rec
,
index
,
offsets
,
thr
);
}
else
{
#ifdef WITH_WSREP
/* appliers don't need dupkey checks */
if
(
!
wsrep_thd_is_BF
(
thr_get_trx
(
thr
)
->
mysql_thd
,
0
))
#endif
/* WITH_WSREP */
err
=
row_ins_set_shared_rec_lock
(
lock_type
,
block
,
rec
,
index
,
offsets
,
thr
);
}
...
...
storage/xtradb/row/row0upd.cc
View file @
0b98d2fd
...
...
@@ -367,6 +367,7 @@ wsrep_row_upd_check_foreign_constraints(
ulint
n_ext
;
dberr_t
err
;
ibool
got_s_lock
=
FALSE
;
ibool
opened
=
FALSE
;
if
(
UT_LIST_GET_FIRST
(
table
->
foreign_list
)
==
NULL
)
{
...
...
@@ -414,6 +415,7 @@ wsrep_row_upd_check_foreign_constraints(
dict_table_open_on_name
(
foreign
->
referenced_table_name_lookup
,
FALSE
,
FALSE
,
DICT_ERR_IGNORE_NONE
);
opened
=
TRUE
;
}
if
(
foreign
->
referenced_table
)
{
...
...
@@ -442,6 +444,11 @@ wsrep_row_upd_check_foreign_constraints(
(
foreign
->
referenced_table
->
n_foreign_key_checks_running
)
--
;
if
(
opened
==
TRUE
)
{
dict_table_close
(
foreign
->
referenced_table
,
TRUE
,
FALSE
);
opened
=
FALSE
;
}
mutex_exit
(
&
(
dict_sys
->
mutex
));
}
...
...
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