Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Samuel Thibault
mariadb-10.1
Commits
3ee0a842
Commit
3ee0a842
authored
Sep 07, 2016
by
Otto Kekäläinen
Browse files
Update changelog and refresh patches after 10.0.27 import
parent
6b8e69d1
Changes
9
Hide whitespace changes
Inline
Side-by-side
debian/changelog
View file @
3ee0a842
mariadb
-
10.0
(
10.0.27
-
1
)
unstable
;
urgency
=
low
*
New
upstream
release
10.0.27
*
Remove
3
patches
after
10.0.27
import
as
they
have
been
applied
upstream
.
--
Otto
Kek
ä
l
ä
inen
<
otto
@
debian
.
org
>
Wed
,
07
Sep
2016
23
:
05
:
28
+
0300
mariadb
-
10.0
(
10.0.26
-
3
)
unstable
;
urgency
=
low
[
Dieter
Adriaenssens
]
...
...
debian/patches/fix-spelling-errors.patch
View file @
3ee0a842
...
...
@@ -84,7 +84,7 @@ Last-Update: 2014-10-02
44 ru_UA Russian - Ukraine 8 11 , . russian
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -70
85
,7 +70
85
,7 @@
struct my_option my_long_options[]=
@@ -70
76
,7 +70
76
,7 @@
struct my_option my_long_options[]=
&opt_show_slave_auth_info, &opt_show_slave_auth_info, 0,
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
{"skip-bdb", OPT_DEPRECATED_OPTION,
...
...
@@ -93,7 +93,7 @@ Last-Update: 2014-10-02
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
#ifndef DISABLE_GRANT_OPTIONS
{"skip-grant-tables", 0,
@@ -841
4
,7 +841
4
,7 @@
mysqld_get_one_option(int optid,
@@ -841
1
,7 +841
1
,7 @@
mysqld_get_one_option(int optid,
break;
case OPT_DEPRECATED_OPTION:
sql_print_warning("'%s' is deprecated. It does nothing and exists only "
...
...
debian/patches/innodb_xtradb_10.0.26_regression.patch
deleted
100644 → 0
View file @
6b8e69d1
Description: Revert innodb and xtradb PowerPC synchronization from 10.0.26
On PowerPC 64 Little Endian we have synchronization problems that causes
warnings in test cases. The patch reverts these changes from 10.0.26 that
caused this regression.
The patch was initially proposed by Sergey Vojtovich, altered slightly to
have it compile.
.
This patch should be removed when upstream provides an adequate fix.
Author: Vicențiu Ciorbaru <vicentiu@mariadb.org>
diff --git a/storage/innobase/include/os0sync.h b/storage/innobase/include/os0sync.h
index 1cf4e9c..1abb774 100644
--- a/storage/innobase/include/os0sync.h
+++ b/storage/innobase/include/os0sync.h
@@ -492,7 +492,8 @@
inline
lock_word_t
os_atomic_clear(volatile lock_word_t* ptr)
{
- return(__sync_lock_test_and_set(ptr, 0));
+ __sync_lock_release(ptr);
+ return *ptr;
}
# elif defined(HAVE_IB_GCC_ATOMIC_TEST_AND_SET)
@@ -861,6 +862,7 @@
for synchronization */
architecture. Disable memory barrier for Intel architecture for now. */
# define os_rmb do { } while(0)
# define os_wmb do { } while(0)
+# define os_mb __sync_synchronize()
# define os_isync do { } while(0)
# define IB_MEMORY_BARRIER_STARTUP_MSG \
"Memory barrier is not used"
diff --git a/storage/innobase/include/sync0sync.ic b/storage/innobase/include/sync0sync.ic
index 55f728f..0b6858a 100644
--- a/storage/innobase/include/sync0sync.ic
+++ b/storage/innobase/include/sync0sync.ic
@@ -178,6 +178,8 @@
mutex_exit_func(
to wake up possible hanging threads if
they are missed in mutex_signal_object. */
+ os_mb;
+
if (mutex_get_waiters(mutex) != 0) {
mutex_signal_object(mutex);
diff --git a/storage/xtradb/include/os0sync.h b/storage/xtradb/include/os0sync.h
index 0f93f3f..2aa9478 100644
--- a/storage/xtradb/include/os0sync.h
+++ b/storage/xtradb/include/os0sync.h
@@ -543,7 +543,8 @@
inline
lock_word_t
os_atomic_clear(volatile lock_word_t* ptr)
{
- return(__sync_lock_test_and_set(ptr, 0));
+ __sync_lock_release(ptr);
+ return *ptr;
}
# elif defined(HAVE_IB_GCC_ATOMIC_TEST_AND_SET)
@@ -912,6 +913,7 @@
for synchronization */
architecture. Disable memory barrier for Intel architecture for now. */
# define os_rmb do { } while(0)
# define os_wmb do { } while(0)
+# define os_mb __sync_synchronize()
# define os_isync do { } while(0)
# define IB_MEMORY_BARRIER_STARTUP_MSG \
"Memory barrier is not used"
diff --git a/storage/xtradb/include/sync0sync.ic b/storage/xtradb/include/sync0sync.ic
index 00db854..fac83a4 100644
--- a/storage/xtradb/include/sync0sync.ic
+++ b/storage/xtradb/include/sync0sync.ic
@@ -181,6 +181,8 @@
mutex_exit_func(
to wake up possible hanging threads if
they are missed in mutex_signal_object. */
+ os_mb;
+
if (mutex_get_waiters(mutex) != 0) {
mutex_signal_object(mutex);
debian/patches/mdev-10428-main-information-schema-stats-test-fix.patch
deleted
100644 → 0
View file @
6b8e69d1
Origin: vendor, https://github.com/MariaDB/server/commit/df4fddb8961355fc68f32375d2bac5735057f205.patch
Subject: [PATCH] MDEV-10428 main.information_schema_stats fails sporadically
in buildbot
Resultsets which contain more than one row need to be sorted
---
mysql-test/r/information_schema_stats.result | 4 ++--
mysql-test/t/information_schema_stats.test | 2 ++
2 files changed, 4 insertions(+), 2 deletions(-)
--- a/mysql-test/r/information_schema_stats.result
+++ b/mysql-test/r/information_schema_stats.result
@@ -16,8 +16,8 @@
count(*)
2
select * from information_schema.index_statistics where table_schema='test' and table_name='just_a_test';
TABLE_SCHEMA TABLE_NAME INDEX_NAME ROWS_READ
-test just_a_test IND_just_a_test_state 2
test just_a_test IND_just_a_test_first_name_last_name 1
+test just_a_test IND_just_a_test_state 2
select * from information_schema.table_statistics where table_schema='test' and table_name='just_a_test';
TABLE_SCHEMA TABLE_NAME ROWS_READ ROWS_CHANGED ROWS_CHANGED_X_INDEXES
test just_a_test 18 5 5
@@ -56,9 +56,9 @@
count(*)
3
select * from information_schema.index_statistics where table_schema='test' and table_name='just_a_test';
TABLE_SCHEMA TABLE_NAME INDEX_NAME ROWS_READ
+test just_a_test PRIMARY 5
test just_a_test first_name 1
test just_a_test state 2
-test just_a_test PRIMARY 5
select * from information_schema.table_statistics where table_schema='test' and table_name='just_a_test';
TABLE_SCHEMA TABLE_NAME ROWS_READ ROWS_CHANGED ROWS_CHANGED_X_INDEXES
test just_a_test 8 5 15
--- a/mysql-test/t/information_schema_stats.test
+++ b/mysql-test/t/information_schema_stats.test
@@ -13,6 +13,7 @@
alter table just_a_test add key IND_just
alter table just_a_test add key IND_just_a_test_state(state);
select count(*) from just_a_test where first_name='fc' and last_name='lc';
select count(*) from just_a_test where state = 'California';
+--sorted_result
select * from information_schema.index_statistics where table_schema='test' and table_name='just_a_test';
select * from information_schema.table_statistics where table_schema='test' and table_name='just_a_test';
alter table just_a_test drop key IND_just_a_test_first_name_last_name;
@@ -36,6 +37,7 @@
insert into just_a_test values(1,'fa','l
select count(*) from just_a_test where first_name='fc' and last_name='lc';
select count(*) from just_a_test where state = 'California';
select count(*) from just_a_test where id between 2 and 4;
+--sorted_result
select * from information_schema.index_statistics where table_schema='test' and table_name='just_a_test';
select * from information_schema.table_statistics where table_schema='test' and table_name='just_a_test';
drop table just_a_test;
debian/patches/mdev-10563-shutdown-failure.patch
deleted
100644 → 0
View file @
6b8e69d1
Description: Prevent undefined behavior caused by dereferencing null pointers
GCC v6 has introduced the optimization that the "this" pointer is always
non-null and removes any if statements that are considered constant. This
introduces problems during shutdown as the if guard is removed. Move
the guards up a level, before calling the member functions.
.
This patch should be removed when upstream provides an adequate fix.
Author: Vicențiu Ciorbaru <vicentiu@mariadb.org>
diff --git a/sql/item_func.cc b/sql/item_func.cc
index b637213..9ee1ba4 100644
--- a/sql/item_func.cc
+++ b/sql/item_func.cc
@@ -3942,7 +3942,7 @@
longlong Item_master_pos_wait::val_int()
longlong timeout = (arg_count>=3) ? args[2]->val_int() : 0 ;
String connection_name_buff;
LEX_STRING connection_name;
- Master_info *mi;
+ Master_info *mi= NULL;
if (arg_count >= 4)
{
String *con;
@@ -3962,8 +3962,9 @@
longlong Item_master_pos_wait::val_int()
connection_name= thd->variables.default_master_connection;
mysql_mutex_lock(&LOCK_active_mi);
- mi= master_info_index->get_master_info(&connection_name,
- Sql_condition::WARN_LEVEL_WARN);
+ if (master_info_index) // master_info_index is set to NULL on shutdown.
+ mi= master_info_index->get_master_info(&connection_name,
+ Sql_condition::WARN_LEVEL_WARN);
mysql_mutex_unlock(&LOCK_active_mi);
if (!mi)
goto err;
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 4dfe456..79419fc 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -7316,7 +7316,10 @@
static int show_slaves_running(THD *thd, SHOW_VAR *var, char *buff)
var->value= buff;
mysql_mutex_lock(&LOCK_active_mi);
- *((longlong *)buff)= master_info_index->any_slave_sql_running();
+ if (master_info_index)
+ *((longlong *)buff)= master_info_index->any_slave_sql_running();
+ else
+ *((longlong *)buff)= 0;
mysql_mutex_unlock(&LOCK_active_mi);
return 0;
diff --git a/sql/rpl_mi.cc b/sql/rpl_mi.cc
index 9c6f463..249bf76 100644
--- a/sql/rpl_mi.cc
+++ b/sql/rpl_mi.cc
@@ -1095,8 +1095,6 @@
Master_info_index::get_master_info(LEX_STRING *connection_name,
connection_name->str));
mysql_mutex_assert_owner(&LOCK_active_mi);
- if (!this) // master_info_index is set to NULL on server shutdown
- DBUG_RETURN(NULL);
/* Make name lower case for comparison */
res= strmake(buff, connection_name->str, connection_name->length);
@@ -1250,8 +1248,6 @@
bool Master_info_index::give_error_if_slave_running()
{
DBUG_ENTER("give_error_if_slave_running");
mysql_mutex_assert_owner(&LOCK_active_mi);
- if (!this) // master_info_index is set to NULL on server shutdown
- DBUG_RETURN(TRUE);
for (uint i= 0; i< master_info_hash.records; ++i)
{
@@ -1282,8 +1278,7 @@
uint Master_info_index::any_slave_sql_running()
{
uint count= 0;
DBUG_ENTER("any_slave_sql_running");
- if (!this) // master_info_index is set to NULL on server shutdown
- DBUG_RETURN(count);
+ mysql_mutex_assert_owner(&LOCK_active_mi);
for (uint i= 0; i< master_info_hash.records; ++i)
{
diff --git a/sql/slave.cc b/sql/slave.cc
index 5d44fb2..9e882e1 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -649,6 +649,7 @@
int terminate_slave_threads(Master_info* mi,int thread_mask,bool skip_lock)
mysql_mutex_unlock(log_lock);
}
if (opt_slave_parallel_threads > 0 &&
+ master_info_index &&// master_info_index is set to NULL on server shutdown
!master_info_index->any_slave_sql_running())
rpl_parallel_inactivate_pool(&global_rpl_thread_pool);
if (thread_mask & (SLAVE_IO|SLAVE_FORCE_ALL))
diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc
index 060441b..84a38c8 100644
--- a/sql/sys_vars.cc
+++ b/sql/sys_vars.cc
@@ -1538,7 +1538,8 @@
Sys_var_gtid_slave_pos::do_check(THD *thd, set_var *var)
}
mysql_mutex_lock(&LOCK_active_mi);
- running= master_info_index->give_error_if_slave_running();
+ running= (!master_info_index ||
+ master_info_index->give_error_if_slave_running());
mysql_mutex_unlock(&LOCK_active_mi);
if (running)
return true;
@@ -1578,7 +1579,7 @@
Sys_var_gtid_slave_pos::global_update(THD *thd, set_var *var)
mysql_mutex_unlock(&LOCK_global_system_variables);
mysql_mutex_lock(&LOCK_active_mi);
- if (master_info_index->give_error_if_slave_running())
+ if (!master_info_index || master_info_index->give_error_if_slave_running())
err= true;
else
err= rpl_gtid_pos_update(thd, var->save_result.string_value.str,
@@ -1767,7 +1768,8 @@
check_slave_parallel_threads(sys_var *self, THD *thd, set_var *var)
bool running;
mysql_mutex_lock(&LOCK_active_mi);
- running= master_info_index->give_error_if_slave_running();
+ running= (!master_info_index ||
+ master_info_index->give_error_if_slave_running());
mysql_mutex_unlock(&LOCK_active_mi);
if (running)
return true;
@@ -1782,7 +1784,8 @@
fix_slave_parallel_threads(sys_var *self, THD *thd, enum_var_type type)
mysql_mutex_unlock(&LOCK_global_system_variables);
mysql_mutex_lock(&LOCK_active_mi);
- err= master_info_index->give_error_if_slave_running();
+ err= (!master_info_index ||
+ master_info_index->give_error_if_slave_running());
mysql_mutex_unlock(&LOCK_active_mi);
mysql_mutex_lock(&LOCK_global_system_variables);
@@ -1809,7 +1812,8 @@
check_slave_domain_parallel_threads(sys_var *self, THD *thd, set_var *var)
bool running;
mysql_mutex_lock(&LOCK_active_mi);
- running= master_info_index->give_error_if_slave_running();
+ running= (!master_info_index ||
+ master_info_index->give_error_if_slave_running());
mysql_mutex_unlock(&LOCK_active_mi);
if (running)
return true;
@@ -1824,7 +1828,8 @@
fix_slave_domain_parallel_threads(sys_var *self, THD *thd, enum_var_type type)
mysql_mutex_unlock(&LOCK_global_system_variables);
mysql_mutex_lock(&LOCK_active_mi);
- running= master_info_index->give_error_if_slave_running();
+ running= (!master_info_index ||
+ master_info_index->give_error_if_slave_running());
mysql_mutex_unlock(&LOCK_active_mi);
mysql_mutex_lock(&LOCK_global_system_variables);
@@ -1862,7 +1867,8 @@
check_gtid_ignore_duplicates(sys_var *self, THD *thd, set_var *var)
bool running;
mysql_mutex_lock(&LOCK_active_mi);
- running= master_info_index->give_error_if_slave_running();
+ running= (!master_info_index ||
+ master_info_index->give_error_if_slave_running());
mysql_mutex_unlock(&LOCK_active_mi);
if (running)
return true;
@@ -1877,7 +1883,8 @@
fix_gtid_ignore_duplicates(sys_var *self, THD *thd, enum_var_type type)
mysql_mutex_unlock(&LOCK_global_system_variables);
mysql_mutex_lock(&LOCK_active_mi);
- running= master_info_index->give_error_if_slave_running();
+ running= (!master_info_index ||
+ master_info_index->give_error_if_slave_running());
mysql_mutex_unlock(&LOCK_active_mi);
mysql_mutex_lock(&LOCK_global_system_variables);
@@ -2830,7 +2837,7 @@
Sys_var_replicate_events_marked_for_skip::global_update(THD *thd, set_var *var)
mysql_mutex_unlock(&LOCK_global_system_variables);
mysql_mutex_lock(&LOCK_active_mi);
- if (!master_info_index->give_error_if_slave_running())
+ if (master_info_index && !master_info_index->give_error_if_slave_running())
result= Sys_var_enum::global_update(thd, var);
mysql_mutex_unlock(&LOCK_active_mi);
mysql_mutex_lock(&LOCK_global_system_variables);
debian/patches/mdev-8375-built-in-auth-socket.patch
View file @
3ee0a842
...
...
@@ -9,7 +9,7 @@ Bug: https://jira.mariadb.org/browse/MDEV-8375
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -36
44
,6 +36
44
,9 @@
sub mysql_install_db {
@@ -36
29
,6 +36
29
,9 @@
sub mysql_install_db {
mtr_tofile($bootstrap_sql_file,
"DELETE FROM mysql.user where user= '';\n");
...
...
debian/patches/mdev-8375-passwordless-accounts-for-testsuite.patch
View file @
3ee0a842
...
...
@@ -7,7 +7,7 @@ Desciption: Make passwordless root accounts available for test suite
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -3
610
,6 +3
610
,10 @@
sub mysql_install_db {
@@ -3
595
,6 +3
595
,10 @@
sub mysql_install_db {
mtr_tofile($bootstrap_sql_file, "INSERT INTO mysql.db VALUES ('%','test','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','N','N','Y','Y');\n");
mtr_tofile($bootstrap_sql_file, "INSERT INTO mysql.db VALUES ('%','test\\_%','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','N','N','Y','Y');\n");
...
...
debian/patches/mysql-test__db_test.patch
View file @
3ee0a842
...
...
@@ -6,7 +6,7 @@
##
DP: suite depends on them.
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -3
606
,6 +3
606
,11 @@
sub mysql_install_db {
@@ -3
591
,6 +3
591
,11 @@
sub mysql_install_db {
mtr_appendfile_to_file("$sql_dir/mysql_system_tables_data.sql",
$bootstrap_sql_file);
...
...
debian/patches/series
View file @
3ee0a842
...
...
@@ -16,6 +16,3 @@ mdev-8375-built-in-auth-socket.patch
mdev-8375-passwordless-accounts-for-testsuite.patch
mdev-9528-mysql_embedded.patch
man_page_tokuftdump.patch
innodb_xtradb_10.0.26_regression.patch
mdev-10428-main-information-schema-stats-test-fix.patch
mdev-10563-shutdown-failure.patch
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment