mirror of
https://github.com/MariaDB/server.git
synced 2025-08-09 22:24:09 +03:00
Fixes for some test failures.
This commit is contained in:
@@ -234,6 +234,8 @@ INSERT INTO global_suppressions VALUES
|
||||
("WSREP: last inactive check more than .* skipping check"),
|
||||
("WSREP: Gap in state sequence. Need state transfer."),
|
||||
("WSREP: Failed to prepare for incremental state transfer: .*"),
|
||||
("WSREP: error executing 'SET GLOBAL innodb_disallow_writes=.*"),
|
||||
("WSREP: Failed to disallow InnoDB writes"),
|
||||
("THE_LAST_SUPPRESSION")||
|
||||
|
||||
|
||||
|
@@ -1099,6 +1099,9 @@ The following options may be given as the first argument:
|
||||
--wsrep-recover Recover database state after crash and exit
|
||||
--wsrep-replicate-myisam
|
||||
To enable myisam replication
|
||||
--wsrep-restart-slave
|
||||
Should MySQL slave be restarted automatically, when node
|
||||
joins back to cluster
|
||||
--wsrep-retry-autocommit=#
|
||||
Max number of times to retry a failed autocommit
|
||||
statement
|
||||
@@ -1439,6 +1442,7 @@ wsrep-provider none
|
||||
wsrep-provider-options
|
||||
wsrep-recover FALSE
|
||||
wsrep-replicate-myisam FALSE
|
||||
wsrep-restart-slave FALSE
|
||||
wsrep-retry-autocommit 1
|
||||
wsrep-slave-threads 1
|
||||
wsrep-sst-auth (No default value)
|
||||
|
@@ -3,12 +3,12 @@
|
||||
|
||||
[mysqld.1]
|
||||
binlog-format=row
|
||||
wsrep_provider=/usr/lib/libgalera_smm.so
|
||||
wsrep_provider=/usr/lib/galera/libgalera_smm.so
|
||||
wsrep_cluster_address='gcomm://'
|
||||
|
||||
[mysqld.2]
|
||||
binlog-format=row
|
||||
wsrep_provider=/usr/lib/libgalera_smm.so
|
||||
wsrep_provider=/usr/lib/galera/libgalera_smm.so
|
||||
wsrep_cluster_address='gcomm://127.0.0.1:4567'
|
||||
wsrep_provider_options='gmcast.listen_addr=tcp://127.0.0.1:4568'
|
||||
|
||||
|
@@ -10,7 +10,6 @@ there should be *no* long test name listed below:
|
||||
select distinct variable_name as `there should be *no* variables listed below:` from t2
|
||||
left join t1 on variable_name=test_name where test_name is null;
|
||||
there should be *no* variables listed below:
|
||||
innodb_disallow_writes
|
||||
wsrep_auto_increment_control
|
||||
wsrep_causal_reads
|
||||
wsrep_certify_nonpk
|
||||
@@ -38,6 +37,7 @@ wsrep_provider
|
||||
wsrep_provider_options
|
||||
wsrep_recover
|
||||
wsrep_replicate_myisam
|
||||
wsrep_restart_slave
|
||||
wsrep_retry_autocommit
|
||||
wsrep_slave_threads
|
||||
wsrep_sst_auth
|
||||
|
@@ -45,6 +45,7 @@ wsrep_provider #
|
||||
wsrep_provider_options #
|
||||
wsrep_recover #
|
||||
wsrep_replicate_myisam #
|
||||
wsrep_restart_slave #
|
||||
wsrep_retry_autocommit #
|
||||
wsrep_slave_threads #
|
||||
wsrep_sst_auth #
|
||||
@@ -83,6 +84,7 @@ wsrep_provider #
|
||||
wsrep_provider_options #
|
||||
wsrep_recover #
|
||||
wsrep_replicate_myisam #
|
||||
wsrep_restart_slave #
|
||||
wsrep_retry_autocommit #
|
||||
wsrep_slave_threads #
|
||||
wsrep_sst_auth #
|
||||
|
@@ -1 +1 @@
|
||||
--binlog-format=row --innodb_autoinc_lock_mode=2 --innodb_locks_unsafe_for_binlog=1 --wsrep-provider=/usr/lib/libgalera_smm.so --wsrep-cluster-address=gcomm:// --wsrep-on=1 --log-bin
|
||||
--binlog-format=row --innodb_autoinc_lock_mode=2 --innodb_locks_unsafe_for_binlog=1 --wsrep-provider=/usr/lib/galera/libgalera_smm.so --wsrep-cluster-address=gcomm:// --wsrep-on=1 --log-bin
|
||||
|
@@ -3437,18 +3437,7 @@ pthread_handler_t signal_hand(void *arg __attribute__((unused)))
|
||||
mysql_cond_broadcast(&COND_thread_count);
|
||||
mysql_mutex_unlock(&LOCK_thread_count);
|
||||
|
||||
/*
|
||||
Waiting for until mysqld_server_started != 0
|
||||
to ensure that all server components has been successfully
|
||||
initialized. This step is mandatory since signal processing
|
||||
could be done safely only when all server components
|
||||
has been initialized.
|
||||
*/
|
||||
mysql_mutex_lock(&LOCK_server_started);
|
||||
while (!mysqld_server_started)
|
||||
mysql_cond_wait(&COND_server_started, &LOCK_server_started);
|
||||
mysql_mutex_unlock(&LOCK_server_started);
|
||||
|
||||
(void) pthread_sigmask(SIG_BLOCK,&set,NULL);
|
||||
for (;;)
|
||||
{
|
||||
int error; // Used when debugging
|
||||
|
@@ -308,7 +308,8 @@ bool Sql_cmd_alter_table::execute(THD *thd)
|
||||
#ifdef WITH_WSREP
|
||||
TABLE *find_temporary_table(THD *thd, const TABLE_LIST *tl);
|
||||
|
||||
if ((!thd->is_current_stmt_binlog_format_row() ||
|
||||
if (WSREP(thd) &&
|
||||
(!thd->is_current_stmt_binlog_format_row() ||
|
||||
!find_temporary_table(thd, first_table)) &&
|
||||
wsrep_to_isolation_begin(thd,
|
||||
lex->name.str ? select_lex->db : NULL,
|
||||
|
@@ -55,8 +55,8 @@ int wsrep_write_cache_buf(IO_CACHE *cache, uchar **buf, size_t *buf_len)
|
||||
wsrep_max_ws_size, total_length);
|
||||
goto error;
|
||||
}
|
||||
|
||||
uchar* tmp = (uchar *)my_realloc(*buf, total_length, MYF(0));
|
||||
uchar* tmp = (uchar *)my_realloc(*buf, total_length,
|
||||
MYF(MY_ALLOW_ZERO_PTR));
|
||||
if (!tmp)
|
||||
{
|
||||
WSREP_ERROR("could not (re)allocate buffer: %zu + %u",
|
||||
@@ -173,7 +173,8 @@ static int wsrep_write_cache_once(wsrep_t* const wsrep,
|
||||
if (total_length > allocated)
|
||||
{
|
||||
size_t const new_size(heap_size(total_length));
|
||||
uchar* tmp = (uchar *)my_realloc(heap_buf, new_size, MYF(0));
|
||||
uchar* tmp = (uchar *)my_realloc(heap_buf, new_size,
|
||||
MYF(MY_ALLOW_ZERO_PTR));
|
||||
if (!tmp)
|
||||
{
|
||||
WSREP_ERROR("could not (re)allocate buffer: %zu + %u",
|
||||
|
@@ -520,6 +520,7 @@ int wsrep_init()
|
||||
wsrep_init_args args;
|
||||
args.options = (wsrep_provider_options) ?
|
||||
wsrep_provider_options : "";
|
||||
args.logger_cb= wsrep_log_cb;
|
||||
rcode = wsrep->init(wsrep, &args);
|
||||
if (rcode)
|
||||
{
|
||||
|
@@ -16998,6 +16998,7 @@ wsrep_innobase_kill_one_trx(void * const bf_thd_ptr,
|
||||
lock_cancel_waiting_and_release(wait_lock);
|
||||
}
|
||||
|
||||
wsrep_thd_UNLOCK(thd);
|
||||
wsrep_thd_awake(thd, signal);
|
||||
} else {
|
||||
/* abort currently executing query */
|
||||
@@ -17005,6 +17006,9 @@ wsrep_innobase_kill_one_trx(void * const bf_thd_ptr,
|
||||
wsrep_thd_thread_id(thd)));
|
||||
WSREP_DEBUG("kill query for: %ld",
|
||||
wsrep_thd_thread_id(thd));
|
||||
/* Note that innobase_kill_connection will take lock_mutex
|
||||
and trx_mutex */
|
||||
wsrep_thd_UNLOCK(thd);
|
||||
wsrep_thd_awake(thd, signal);
|
||||
|
||||
/* for BF thd, we need to prevent him from committing */
|
||||
@@ -17061,15 +17065,16 @@ wsrep_innobase_kill_one_trx(void * const bf_thd_ptr,
|
||||
WSREP_DEBUG("signaling aborter");
|
||||
mysql_cond_signal(&COND_wsrep_rollback);
|
||||
mysql_mutex_unlock(&LOCK_wsrep_rollback);
|
||||
wsrep_thd_UNLOCK(thd);
|
||||
|
||||
break;
|
||||
}
|
||||
default:
|
||||
WSREP_WARN("bad wsrep query state: %d",
|
||||
wsrep_thd_query_state(thd));
|
||||
wsrep_thd_UNLOCK(thd);
|
||||
break;
|
||||
}
|
||||
wsrep_thd_UNLOCK(thd);
|
||||
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
@@ -17905,6 +17905,7 @@ wsrep_innobase_kill_one_trx(void * const bf_thd_ptr,
|
||||
lock_cancel_waiting_and_release(wait_lock);
|
||||
}
|
||||
|
||||
wsrep_thd_UNLOCK(thd);
|
||||
wsrep_thd_awake(thd, signal);
|
||||
} else {
|
||||
/* abort currently executing query */
|
||||
@@ -17914,6 +17915,7 @@ wsrep_innobase_kill_one_trx(void * const bf_thd_ptr,
|
||||
wsrep_thd_thread_id(thd));
|
||||
/* Note that innobase_kill_connection will take lock_mutex
|
||||
and trx_mutex */
|
||||
wsrep_thd_UNLOCK(thd);
|
||||
wsrep_thd_awake(thd, signal);
|
||||
|
||||
/* for BF thd, we need to prevent him from committing */
|
||||
@@ -17970,15 +17972,16 @@ wsrep_innobase_kill_one_trx(void * const bf_thd_ptr,
|
||||
WSREP_DEBUG("signaling aborter");
|
||||
mysql_cond_signal(&COND_wsrep_rollback);
|
||||
mysql_mutex_unlock(&LOCK_wsrep_rollback);
|
||||
wsrep_thd_UNLOCK(thd);
|
||||
|
||||
break;
|
||||
}
|
||||
default:
|
||||
WSREP_WARN("bad wsrep query state: %d",
|
||||
wsrep_thd_query_state(thd));
|
||||
wsrep_thd_UNLOCK(thd);
|
||||
break;
|
||||
}
|
||||
wsrep_thd_UNLOCK(thd);
|
||||
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
Reference in New Issue
Block a user