polardbxengine/mysql-test/suite/ndb_ddl/schema_dist_lock_wait_timeo...

37 lines
1.5 KiB
Plaintext

--source include/have_ndb.inc
# The variable ndb-schema-dist-lock-wait-timeout controls how long the
# ndbcluster binlog injector thread will wait for locks to be acquired while
# handling schema operations. Acquiring these locks are necessary to update the
# data dictionary (DD) with latest metadata. While it's important to update
# the DD, it's even more important that the ndbcluster binlog injector thread
# does not block for an extended amount of time but instead rather skip
# updating the DD if lock acquisition fails. By using this variable, it's
# possible to configure how long it's acceptable for the thread to wait.
let $save_lock_wait_timeout = `select @@ndb_schema_dist_lock_wait_timeout`;
--echo # Current value of ndb-schema-dist-lock-wait-timeout
select @@ndb_schema_dist_lock_wait_timeout;
# Check that variable is global variable
set @@global.ndb_schema_dist_lock_wait_timeout = 1;
select @@ndb_schema_dist_lock_wait_timeout;
# Check that variable is not a session variable
--error ER_GLOBAL_VARIABLE
set @@session.ndb_schema_dist_lock_wait_timeout = 1;
--error ER_GLOBAL_VARIABLE
set @@ndb_schema_dist_lock_wait_timeout = 1;
# Check that variable can be set to zero
set @@global.ndb_schema_dist_lock_wait_timeout = 0;
select @@ndb_schema_dist_lock_wait_timeout;
# Check that variable can be set to the max value
set @@global.ndb_schema_dist_lock_wait_timeout = 1200;
select @@ndb_schema_dist_lock_wait_timeout;
# Restore intial value
eval set @@global.ndb_schema_dist_lock_wait_timeout = $save_lock_wait_timeout;