From 6f9e33ecb020bcf3e6db246bc04a9be153c63dc4 Mon Sep 17 00:00:00 2001 From: Sergey Vojtovich Date: Fri, 26 Dec 2014 23:38:45 +0400 Subject: MDEV-7273 - 10.1 fails to start up during tc_log initializations on PPC64 log-tc-size is 24K by default. Page size is 64K on PPC64. But log-tc- size must be at least 3 x page size. This is enforced by TC_LOG_MMAP::open() with a comment: to guarantee non-empty pool. This all makes server not startable in default configuration on PPC64. Autosize log-tc-size, so that it's min value= page size * 3, default value= page size * 6, block size= page size. Conflicts: mysql-test/suite/sys_vars/inc/sysvars_server.inc mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result mysql-test/t/mysqld--help.test sql/mysqld.cc sql/sys_vars.cc --- sql/sys_vars.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'sql/sys_vars.cc') diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc index fe7e0135fe1..55a7cfc5a4a 100644 --- a/sql/sys_vars.cc +++ b/sql/sys_vars.cc @@ -5107,3 +5107,13 @@ static Sys_var_mybool Sys_pseudo_slave_mode( SESSION_ONLY(pseudo_slave_mode), NO_CMD_LINE, DEFAULT(FALSE), NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(check_pseudo_slave_mode)); +#ifdef HAVE_MMAP +static Sys_var_ulong Sys_log_tc_size( + "log_tc_size", + "Size of transaction coordinator log.", + READ_ONLY GLOBAL_VAR(opt_tc_log_size), + CMD_LINE(REQUIRED_ARG), + VALID_RANGE(my_getpagesize() * 3, ULONG_MAX), + DEFAULT(my_getpagesize() * 6), + BLOCK_SIZE(my_getpagesize())); +#endif -- cgit v1.2.1