mirror of
https://github.com/MariaDB/server.git
synced 2025-12-19 22:42:44 +03:00
A donor node does a flush tables and then tries to freeze innodb writes before proceeding with SST. However, innodb_disallow_writes was missing in xtradb. Merged 'InnodbFreeze' patch from maria-5.5-galera's to xtradb. Also, merged some changes missing in innobase's os0file.cc. Added a basic test case for innodb_disallow_writes system variable.
46 lines
1.3 KiB
Plaintext
46 lines
1.3 KiB
Plaintext
#
|
|
# innodb_disallow_writes
|
|
#
|
|
# save the initial value
|
|
SET @innodb_disallow_writes_global_saved = @@global.innodb_disallow_writes;
|
|
# default
|
|
SELECT @@global.innodb_disallow_writes;
|
|
@@global.innodb_disallow_writes
|
|
0
|
|
|
|
# scope
|
|
SELECT @@session.innodb_disallow_writes;
|
|
ERROR HY000: Variable 'innodb_disallow_writes' is a GLOBAL variable
|
|
SET @@global.innodb_disallow_writes=OFF;
|
|
SELECT @@global.innodb_disallow_writes;
|
|
@@global.innodb_disallow_writes
|
|
0
|
|
SET @@global.innodb_disallow_writes=ON;
|
|
SELECT @@global.innodb_disallow_writes;
|
|
@@global.innodb_disallow_writes
|
|
1
|
|
|
|
# valid values
|
|
SET @@global.innodb_disallow_writes='OFF';
|
|
SELECT @@global.innodb_disallow_writes;
|
|
@@global.innodb_disallow_writes
|
|
0
|
|
SET @@global.innodb_disallow_writes=ON;
|
|
SELECT @@global.innodb_disallow_writes;
|
|
@@global.innodb_disallow_writes
|
|
1
|
|
SET @@global.innodb_disallow_writes=default;
|
|
SELECT @@global.innodb_disallow_writes;
|
|
@@global.innodb_disallow_writes
|
|
0
|
|
|
|
# invalid values
|
|
SET @@global.innodb_disallow_writes=NULL;
|
|
ERROR 42000: Variable 'innodb_disallow_writes' can't be set to the value of 'NULL'
|
|
SET @@global.innodb_disallow_writes='junk';
|
|
ERROR 42000: Variable 'innodb_disallow_writes' can't be set to the value of 'junk'
|
|
|
|
# restore the initial value
|
|
SET @@global.innodb_disallow_writes = @innodb_disallow_writes_global_saved;
|
|
# End of test
|