Skip to content

Commit 10635c2

Browse files
committed
Merge 10.10 into 10.11
2 parents f4e023a + 51fc6b9 commit 10635c2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+4134
-4647
lines changed

Diff for: cmake/cpack_rpm.cmake

+1
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ SET(ignored
155155
"%ignore ${CMAKE_INSTALL_PREFIX}/share/doc"
156156
"%ignore ${CMAKE_INSTALL_PREFIX}/share/man"
157157
"%ignore ${CMAKE_INSTALL_PREFIX}/share/man/man1"
158+
"%ignore ${CMAKE_INSTALL_PREFIX}/share/man/man3"
158159
"%ignore ${CMAKE_INSTALL_PREFIX}/share/man/man8"
159160
"%ignore ${CMAKE_INSTALL_PREFIX}/share/pkgconfig"
160161
)

Diff for: include/mysql/service_wsrep.h

+12
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ extern struct wsrep_service_st {
6969
void (*wsrep_thd_self_abort_func)(MYSQL_THD thd);
7070
int (*wsrep_thd_append_key_func)(MYSQL_THD thd, const struct wsrep_key* key,
7171
int n_keys, enum Wsrep_service_key_type);
72+
int (*wsrep_thd_append_table_key_func)(MYSQL_THD thd, const char* db,
73+
const char* table, enum Wsrep_service_key_type);
74+
my_bool (*wsrep_thd_is_local_transaction)(const MYSQL_THD thd);
7275
const char* (*wsrep_thd_client_state_str_func)(const MYSQL_THD thd);
7376
const char* (*wsrep_thd_client_mode_str_func)(const MYSQL_THD thd);
7477
const char* (*wsrep_thd_transaction_state_str_func)(const MYSQL_THD thd);
@@ -121,6 +124,8 @@ extern struct wsrep_service_st {
121124
#define wsrep_thd_is_local(T) wsrep_service->wsrep_thd_is_local_func(T)
122125
#define wsrep_thd_self_abort(T) wsrep_service->wsrep_thd_self_abort_func(T)
123126
#define wsrep_thd_append_key(T,W,N,K) wsrep_service->wsrep_thd_append_key_func(T,W,N,K)
127+
#define wsrep_thd_append_table_key(T,D,B,K) wsrep_service->wsrep_thd_append_table_key_func(T,D,B,K)
128+
#define wsrep_thd_is_local_transaction(T) wsrep_service->wsrep_thd_is_local_transaction_func(T)
124129
#define wsrep_thd_client_state_str(T) wsrep_service->wsrep_thd_client_state_str_func(T)
125130
#define wsrep_thd_client_mode_str(T) wsrep_service->wsrep_thd_client_mode_str_func(T)
126131
#define wsrep_thd_transaction_state_str(T) wsrep_service->wsrep_thd_transaction_state_str_func(T)
@@ -226,6 +231,13 @@ extern "C" int wsrep_thd_append_key(MYSQL_THD thd,
226231
int n_keys,
227232
enum Wsrep_service_key_type);
228233

234+
extern "C" int wsrep_thd_append_table_key(MYSQL_THD thd,
235+
const char* db,
236+
const char* table,
237+
enum Wsrep_service_key_type);
238+
239+
extern "C" my_bool wsrep_thd_is_local_transaction(const MYSQL_THD thd);
240+
229241
extern const char* wsrep_sr_table_name_full;
230242

231243
extern "C" const char* wsrep_get_sr_table_name();

Diff for: mysql-test/suite/galera/disabled.def

-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
##############################################################################
1212

1313
galera_as_slave_ctas : MDEV-28378 timeout
14-
galera_bf_abort_at_after_statement : Timeout in wait_condition.inc for SELECT COUNT(*) = 1 FROM t1 where id = 1 and val = 3
1514
galera_pc_recovery : MDEV-25199 cluster fails to start up
1615
galera_sst_encrypted : MDEV-29876 Galera test failure on galera_sst_encrypted
1716
MW-284 : MDEV-29861 Galera test case hangs

Diff for: mysql-test/suite/galera/r/galera_insert_bulk.result

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
connection node_2;
2+
connection node_1;
3+
connection node_1;
4+
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
5+
SET foreign_key_checks = 0;
6+
SET unique_checks = 0;
7+
START TRANSACTION;
8+
connection node_2;
9+
SET foreign_key_checks = 1;
10+
SET unique_checks = 1;
11+
INSERT INTO t1 VALUES (1001);
12+
connection node_1;
13+
COMMIT;
14+
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
15+
DROP TABLE t1;
16+
connection node_1;
17+
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
18+
START TRANSACTION;
19+
connection node_2;
20+
SET foreign_key_checks = 1;
21+
SET unique_checks = 1;
22+
START TRANSACTION;
23+
INSERT INTO t1 VALUES (1001);
24+
connection node_1;
25+
COMMIT;
26+
2
27+
connection node_2;
28+
COMMIT;
29+
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
30+
DROP TABLE t1;

Diff for: mysql-test/suite/galera/t/galera_insert_bulk.test

+88
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
#
2+
# Test that bulk insert replicates as table-level exclusive key and
3+
# rolls back properly if needed.
4+
#
5+
6+
--source include/galera_cluster.inc
7+
--source include/have_innodb.inc
8+
9+
#
10+
# Make bulk insert BF-abort, but regular insert succeed.
11+
#
12+
13+
--connection node_1
14+
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
15+
16+
# Disable foreign and unique key checks to allow bulk insert.
17+
SET foreign_key_checks = 0;
18+
SET unique_checks = 0;
19+
20+
START TRANSACTION;
21+
22+
--let $count=0
23+
--disable_query_log
24+
while ($count < 1000)
25+
{
26+
--eval INSERT INTO t1 VALUES ($count)
27+
--inc $count
28+
}
29+
--enable_query_log
30+
31+
--connection node_2
32+
33+
# Disable bulk insert.
34+
SET foreign_key_checks = 1;
35+
SET unique_checks = 1;
36+
37+
# Insert a value out of the bulk insert range.
38+
INSERT INTO t1 VALUES (1001);
39+
40+
--connection node_1
41+
--error ER_LOCK_DEADLOCK
42+
COMMIT;
43+
44+
DROP TABLE t1;
45+
46+
#
47+
# Make bulk insert succeed, but regular insert BF-abort.
48+
#
49+
50+
--connection node_1
51+
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
52+
53+
--let $before_bulk_keys = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_repl_keys'`
54+
55+
START TRANSACTION;
56+
57+
--let $count=0
58+
--disable_query_log
59+
while ($count < 1000)
60+
{
61+
--eval INSERT INTO t1 VALUES ($count)
62+
--inc $count
63+
}
64+
--enable_query_log
65+
66+
--connection node_2
67+
68+
# Disable bulk insert.
69+
SET foreign_key_checks = 1;
70+
SET unique_checks = 1;
71+
72+
START TRANSACTION;
73+
74+
# Insert a value out of the bulk insert range.
75+
INSERT INTO t1 VALUES (1001);
76+
77+
--connection node_1
78+
COMMIT;
79+
80+
# Expect two keys to be added for bulk insert: DB-level shared key and table-level exclusive key.
81+
--let $bulk_keys_count = `SELECT VARIABLE_VALUE - $before_bulk_keys FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_repl_keys'`
82+
--echo $bulk_keys_count
83+
84+
--connection node_2
85+
--error ER_LOCK_DEADLOCK
86+
COMMIT;
87+
88+
DROP TABLE t1;

Diff for: mysql-test/suite/galera_3nodes/disabled.def

-2
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,8 @@
1212

1313
galera_2_cluster : MDEV-29877 Galera test failure on galera_2_cluster
1414
galera_gtid_2_cluster : MDEV-29877 Galera test failure on galera_2_cluster
15-
galera_parallel_apply_3nodes : MDEV-29368 DEBUG_SYNC timeout
1615
galera_ipv6_mariabackup : MDEV-24097
1716
galera_ipv6_mariabackup_section : MDEV-24097, MDEV-22195
18-
galera_parallel_apply_3nodes : MDEV-29774 Galera test galera_parallel_apply_3nodes is unstable
1917
galera_vote_rejoin_mysqldump : MDEV-24481: galera_3nodes.galera_vote_rejoin_mysqldump MTR failed: mysql_shutdown failed
2018
galera_ssl_reload : MDEV-30172 At line 50: mysql_shutdown failed
2119
GCF-354 : mysqltest: At line 39: query 'DROP TABLE test.t1' failed: 1047: WSREP has not yet prepared node for application use

Diff for: mysql-test/suite/innodb/r/innodb-change-buffer-recovery.result

-51
This file was deleted.

0 commit comments

Comments
 (0)