Commit 90ead995 authored by Nirbhay Choubey's avatar Nirbhay Choubey

bzr merge -r3980..3984 codership/5.5

parent b441c510
...@@ -20,6 +20,7 @@ set -u ...@@ -20,6 +20,7 @@ set -u
WSREP_SST_OPT_BYPASS=0 WSREP_SST_OPT_BYPASS=0
WSREP_SST_OPT_DATA="" WSREP_SST_OPT_DATA=""
WSREP_SST_OPT_AUTH=""
while [ $# -gt 0 ]; do while [ $# -gt 0 ]; do
case "$1" in case "$1" in
...@@ -55,7 +56,7 @@ case "$1" in ...@@ -55,7 +56,7 @@ case "$1" in
shift shift
;; ;;
'--password') '--password')
readonly WSREP_SST_OPT_PSWD="$2" WSREP_SST_OPT_PSWD="$2"
shift shift
;; ;;
'--port') '--port')
...@@ -71,7 +72,7 @@ case "$1" in ...@@ -71,7 +72,7 @@ case "$1" in
shift shift
;; ;;
'--user') '--user')
readonly WSREP_SST_OPT_USER="$2" WSREP_SST_OPT_USER="$2"
shift shift
;; ;;
'--gtid') '--gtid')
...@@ -88,8 +89,8 @@ done ...@@ -88,8 +89,8 @@ done
readonly WSREP_SST_OPT_BYPASS readonly WSREP_SST_OPT_BYPASS
# For Bug:1200727 # For Bug:1200727
if my_print_defaults -c $WSREP_SST_OPT_CONF sst | grep -q "wsrep_sst_auth";then if my_print_defaults -c $WSREP_SST_OPT_CONF sst | grep -q "wsrep_sst_auth";then
if [ -z $WSREP_SST_OPT_AUTH -o $WSREP_SST_OPT_AUTH = "(null)" ];then if [ -z "$WSREP_SST_OPT_AUTH" -o "$WSREP_SST_OPT_AUTH" = "(null)" ];then
WSREP_SST_OPT_AUTH=$(my_print_defaults -c $WSREP_SST_OPT_CONF sst | grep -- "--wsrep_sst_auth" | cut -d= -f2) WSREP_SST_OPT_AUTH=$(my_print_defaults -c $WSREP_SST_OPT_CONF sst | grep -- "--wsrep_sst_auth" | cut -d= -f2)
fi fi
fi fi
...@@ -124,4 +125,3 @@ wsrep_cleanup_progress_file() ...@@ -124,4 +125,3 @@ wsrep_cleanup_progress_file()
{ {
[ -n "$SST_PROGRESS_FILE" ] && rm -f "$SST_PROGRESS_FILE" 2>/dev/null [ -n "$SST_PROGRESS_FILE" ] && rm -f "$SST_PROGRESS_FILE" 2>/dev/null
} }
#!/bin/sh -e #!/bin/bash -e
# Copyright (C) 2009 Codership Oy # Copyright (C) 2009 Codership Oy
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License. # the Free Software Foundation; version 2 of the License.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING. If not, write to the # along with this program; see the file COPYING. If not, write to the
# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston # Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston
...@@ -61,6 +61,11 @@ then ...@@ -61,6 +61,11 @@ then
exit $EINVAL exit $EINVAL
fi fi
# For Bug:1293798
if [ -z "$WSREP_SST_OPT_PSWD" -a -n "$WSREP_SST_OPT_AUTH" ]; then
WSREP_SST_OPT_USER=$(echo $WSREP_SST_OPT_AUTH | cut -d: -f1)
WSREP_SST_OPT_PSWD=$(echo $WSREP_SST_OPT_AUTH | cut -d: -f2)
fi
AUTH="-u$WSREP_SST_OPT_USER" AUTH="-u$WSREP_SST_OPT_USER"
if test -n "$WSREP_SST_OPT_PSWD"; then AUTH="$AUTH -p$WSREP_SST_OPT_PSWD"; fi if test -n "$WSREP_SST_OPT_PSWD"; then AUTH="$AUTH -p$WSREP_SST_OPT_PSWD"; fi
......
...@@ -110,7 +110,7 @@ bool wsrep_sst_receive_address_check (sys_var *self, THD* thd, set_var* var) ...@@ -110,7 +110,7 @@ bool wsrep_sst_receive_address_check (sys_var *self, THD* thd, set_var* var)
return 0; return 0;
} }
bool wsrep_sst_receive_address_update (sys_var *self, THD* thd, bool wsrep_sst_receive_address_update (sys_var *self, THD* thd,
enum_var_type type) enum_var_type type)
{ {
return 0; return 0;
...@@ -135,7 +135,7 @@ static bool sst_auth_real_set (const char* value) ...@@ -135,7 +135,7 @@ static bool sst_auth_real_set (const char* value)
{ {
my_free ((void*)wsrep_sst_auth); my_free ((void*)wsrep_sst_auth);
wsrep_sst_auth = my_strdup(WSREP_SST_AUTH_MASK, MYF(0)); wsrep_sst_auth = my_strdup(WSREP_SST_AUTH_MASK, MYF(0));
//strncpy (wsrep_sst_auth, WSREP_SST_AUTH_MASK, //strncpy (wsrep_sst_auth, WSREP_SST_AUTH_MASK,
// sizeof(wsrep_sst_auth) - 1); // sizeof(wsrep_sst_auth) - 1);
} }
else else
...@@ -717,10 +717,11 @@ static int sst_donate_mysqldump (const char* addr, ...@@ -717,10 +717,11 @@ static int sst_donate_mysqldump (const char* addr,
WSREP_SST_OPT_LPORT" '%u' " WSREP_SST_OPT_LPORT" '%u' "
WSREP_SST_OPT_SOCKET" '%s' " WSREP_SST_OPT_SOCKET" '%s' "
WSREP_SST_OPT_DATA" '%s' " WSREP_SST_OPT_DATA" '%s' "
WSREP_SST_OPT_CONF" '%s' "
WSREP_SST_OPT_GTID" '%s:%lld'" WSREP_SST_OPT_GTID" '%s:%lld'"
"%s", "%s",
user, pswd, host, port, mysqld_port, mysqld_unix_port, user, pswd, host, port, mysqld_port, mysqld_unix_port,
mysql_real_data_home, uuid_str, mysql_real_data_home, wsrep_defaults_file, uuid_str,
(long long)seqno, bypass ? " "WSREP_SST_OPT_BYPASS : ""); (long long)seqno, bypass ? " "WSREP_SST_OPT_BYPASS : "");
WSREP_DEBUG("Running: '%s'", cmd_str); WSREP_DEBUG("Running: '%s'", cmd_str);
...@@ -754,7 +755,7 @@ static int run_sql_command(THD *thd, const char *query) ...@@ -754,7 +755,7 @@ static int run_sql_command(THD *thd, const char *query)
int const err= thd->stmt_da->sql_errno(); int const err= thd->stmt_da->sql_errno();
WSREP_WARN ("error executing '%s': %d (%s)%s", WSREP_WARN ("error executing '%s': %d (%s)%s",
query, err, thd->stmt_da->message(), query, err, thd->stmt_da->message(),
err == ER_UNKNOWN_SYSTEM_VARIABLE ? err == ER_UNKNOWN_SYSTEM_VARIABLE ?
". Was mysqld built with --with-innodb-disallow-writes ?" : ""); ". Was mysqld built with --with-innodb-disallow-writes ?" : "");
thd->clear_error(); thd->clear_error();
return -1; return -1;
......
...@@ -1696,6 +1696,10 @@ row_ins_scan_sec_index_for_duplicate( ...@@ -1696,6 +1696,10 @@ row_ins_scan_sec_index_for_duplicate(
mem_heap_t* heap = NULL; mem_heap_t* heap = NULL;
ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint offsets_[REC_OFFS_NORMAL_SIZE];
ulint* offsets = offsets_; ulint* offsets = offsets_;
#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 */
rec_offs_init(offsets_); rec_offs_init(offsets_);
n_unique = dict_index_get_n_unique(index); n_unique = dict_index_get_n_unique(index);
...@@ -1760,10 +1764,6 @@ row_ins_scan_sec_index_for_duplicate( ...@@ -1760,10 +1764,6 @@ row_ins_scan_sec_index_for_duplicate(
lock_type, block, rec, index, offsets, thr); lock_type, block, rec, index, offsets, thr);
} else { } 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( err = row_ins_set_shared_rec_lock(
lock_type, block, rec, index, offsets, thr); lock_type, block, rec, index, offsets, thr);
} }
......
...@@ -1705,6 +1705,10 @@ row_ins_scan_sec_index_for_duplicate( ...@@ -1705,6 +1705,10 @@ row_ins_scan_sec_index_for_duplicate(
mem_heap_t* heap = NULL; mem_heap_t* heap = NULL;
ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint offsets_[REC_OFFS_NORMAL_SIZE];
ulint* offsets = offsets_; ulint* offsets = offsets_;
#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 */
rec_offs_init(offsets_); rec_offs_init(offsets_);
n_unique = dict_index_get_n_unique(index); n_unique = dict_index_get_n_unique(index);
...@@ -1769,10 +1773,6 @@ row_ins_scan_sec_index_for_duplicate( ...@@ -1769,10 +1773,6 @@ row_ins_scan_sec_index_for_duplicate(
lock_type, block, rec, index, offsets, thr); lock_type, block, rec, index, offsets, thr);
} else { } 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( err = row_ins_set_shared_rec_lock(
lock_type, block, rec, index, offsets, thr); lock_type, block, rec, index, offsets, thr);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment