Skip to content

Commit 186b064

Browse files
committed
Merge branch '10.6' into '10.11'
2 parents e46c9a0 + fc2990f commit 186b064

File tree

9 files changed

+100
-25
lines changed

9 files changed

+100
-25
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
connection node_2;
2+
connection node_1;
3+
connection node_1;
4+
connection node_2;
5+
connection node_1;
6+
SET SESSION binlog_row_image=minimal;
7+
CREATE SEQUENCE `seq_test` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 0 cache 1000 nocycle ENGINE=InnoDB;
8+
SHOW CREATE TABLE seq_test;
9+
Table Create Table
10+
seq_test CREATE TABLE `seq_test` (
11+
`next_not_cached_value` bigint(21) NOT NULL,
12+
`minimum_value` bigint(21) NOT NULL,
13+
`maximum_value` bigint(21) NOT NULL,
14+
`start_value` bigint(21) NOT NULL COMMENT 'start value when sequences is created or value if RESTART is used',
15+
`increment` bigint(21) NOT NULL COMMENT 'increment value',
16+
`cache_size` bigint(21) unsigned NOT NULL,
17+
`cycle_option` tinyint(1) unsigned NOT NULL COMMENT '0 if no cycles are allowed, 1 if the sequence should begin a new cycle when maximum_value is passed',
18+
`cycle_count` bigint(21) NOT NULL COMMENT 'How many cycles have been done'
19+
) ENGINE=InnoDB SEQUENCE=1
20+
SELECT NEXT VALUE FOR seq_test;
21+
NEXT VALUE FOR seq_test
22+
1
23+
SELECT NEXT VALUE FOR seq_test;
24+
NEXT VALUE FOR seq_test
25+
3
26+
connection node_2;
27+
DROP SEQUENCE seq_test;

mysql-test/suite/galera/r/galera_toi_ddl_nonconflicting.result

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,6 @@ EXPECT_3
3535
SELECT COUNT(*) AS EXPECT_2 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = 't1';
3636
EXPECT_2
3737
2
38-
SHOW CREATE TABLE t1;
39-
Table Create Table
40-
t1 CREATE TABLE `t1` (
41-
`f1` int(11) NOT NULL AUTO_INCREMENT,
42-
`f2` int(11) DEFAULT NULL,
43-
`f3` int(11) DEFAULT NULL,
44-
PRIMARY KEY (`f1`),
45-
UNIQUE KEY `i1` (`f2`)
46-
) ENGINE=InnoDB AUTO_INCREMENT=2002 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
4738
SELECT COUNT(*) AS EXPECT_1001 FROM t1;
4839
EXPECT_1001
4940
1001
@@ -54,15 +45,6 @@ EXPECT_3
5445
SELECT COUNT(*) AS EXPECT_2 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = 't1';
5546
EXPECT_2
5647
2
57-
SHOW CREATE TABLE t1;
58-
Table Create Table
59-
t1 CREATE TABLE `t1` (
60-
`f1` int(11) NOT NULL AUTO_INCREMENT,
61-
`f2` int(11) DEFAULT NULL,
62-
`f3` int(11) DEFAULT NULL,
63-
PRIMARY KEY (`f1`),
64-
UNIQUE KEY `i1` (`f2`)
65-
) ENGINE=InnoDB AUTO_INCREMENT=2047 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
6648
SELECT COUNT(*) AS EXPECT_1001 FROM t1;
6749
EXPECT_1001
6850
1001
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#
2+
# MDEV-37366: Inconsistency detected - create sequence
3+
# Failed 'SELECT NEXT VALUE' on applier node.
4+
#
5+
--source include/galera_cluster.inc
6+
--source include/have_innodb.inc
7+
--source include/big_test.inc
8+
--source include/have_log_bin.inc
9+
10+
#
11+
# Save original auto_increment_offset values.
12+
#
13+
--let $node_1=node_1
14+
--let $node_2=node_2
15+
--source ../galera/include/auto_increment_offset_save.inc
16+
17+
#
18+
# Verify there are two nodes in galera cluster.
19+
#
20+
--connection node_1
21+
--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
22+
--source include/wait_condition.inc
23+
24+
#
25+
# Create a sequence table on node1.
26+
#
27+
SET SESSION binlog_row_image=minimal;
28+
CREATE SEQUENCE `seq_test` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 0 cache 1000 nocycle ENGINE=InnoDB;
29+
SHOW CREATE TABLE seq_test;
30+
31+
#
32+
# Execute 'SELECT NEXT VALUE' which should not fail on applier node.
33+
#
34+
--disable_ps_protocol
35+
SELECT NEXT VALUE FOR seq_test;
36+
SELECT NEXT VALUE FOR seq_test;
37+
--enable_ps_protocol
38+
39+
#
40+
# Verify there are two nodes in galera cluster.
41+
#
42+
--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
43+
--source include/wait_condition.inc
44+
45+
#
46+
# Cleanup
47+
#
48+
--connection node_2
49+
50+
DROP SEQUENCE seq_test;
51+
52+
# Restore original variable values.
53+
--source ../galera/include/auto_increment_offset_restore.inc

mysql-test/suite/galera/t/galera_toi_ddl_nonconflicting.test

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ SET SESSION wsrep_sync_wait=0;
4242
--send CREATE UNIQUE INDEX i1 ON t1(f2);
4343

4444
--connection node_1a
45-
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'acquiring total order%' or STATE LIKE 'Waiting for table metadata%'
45+
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Waiting for table metadata lock%' OR STATE LIKE 'acquiring total order isolation%' OR STATE LIKE 'Waiting to execute in isolation%';
4646
--source include/wait_condition.inc
4747

4848
--echo # Signal DDL 1
@@ -66,7 +66,6 @@ SET SESSION wsrep_sync_wait=0;
6666

6767
SELECT COUNT(*) AS EXPECT_3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
6868
SELECT COUNT(*) AS EXPECT_2 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = 't1';
69-
SHOW CREATE TABLE t1;
7069
SELECT COUNT(*) AS EXPECT_1001 FROM t1;
7170

7271
--connection node_1
@@ -79,7 +78,6 @@ SELECT COUNT(*) AS EXPECT_1001 FROM t1;
7978

8079
SELECT COUNT(*) AS EXPECT_3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
8180
SELECT COUNT(*) AS EXPECT_2 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = 't1';
82-
SHOW CREATE TABLE t1;
8381
SELECT COUNT(*) AS EXPECT_1001 FROM t1;
8482

8583
DROP TABLE t1;

mysql-test/suite/galera/t/mysql-wsrep#198.test

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ SET SESSION wsrep_sync_wait=0;
2020

2121
--connection node_2_ctrl
2222
SET SESSION wsrep_sync_wait = 0;
23-
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Waiting for table metadata lock%' OR STATE LIKE 'acquiring total order isolation%';
23+
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Waiting for table metadata lock%' OR STATE LIKE 'acquiring total order isolation%' OR STATE LIKE 'Waiting to execute in isolation%';
2424
--let $wait_condition_on_error_output = SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
2525
--source include/wait_condition_with_debug_and_kill.inc
2626

@@ -29,7 +29,7 @@ SET SESSION wsrep_sync_wait = 0;
2929
--send REPAIR TABLE t1,t2;
3030

3131
--connection node_2_ctrl
32-
--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Waiting for table metadata lock%' OR STATE LIKE 'acquiring total order isolation%';
32+
--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Waiting for table metadata lock%' OR STATE LIKE 'acquiring total order isolation%' OR STATE LIKE 'Waiting to execute in isolation%';
3333
--let $wait_condition_on_error_output = SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
3434
--source include/wait_condition_with_debug_and_kill.inc
3535

mysql-test/suite/galera_3nodes/t/galera_vote_rejoin_mysqldump.test

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ SELECT VARIABLE_VALUE AS expect_Primary FROM INFORMATION_SCHEMA.GLOBAL_STATUS WH
4646

4747
--connection node_2
4848
SET SESSION wsrep_on=OFF;
49+
--let $wait_condition = SELECT VARIABLE_VALUE = 'Disconnected' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
50+
--source include/wait_condition.inc
4951
SELECT VARIABLE_VALUE AS expect_Disconnected FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status';
5052
SET SESSION wsrep_on=ON;
5153

sql/table.cc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7978,6 +7978,19 @@ void TABLE::mark_columns_per_binlog_row_image()
79787978
if (file->row_logging &&
79797979
!ha_check_storage_engine_flag(s->db_type(), HTON_NO_BINLOG_ROW_OPT))
79807980
{
7981+
#ifdef WITH_WSREP
7982+
/**
7983+
The marking of all columns will prevent update/set column values for the
7984+
sequence table. For the sequence table column bitmap sent from master is
7985+
used.
7986+
*/
7987+
if (WSREP(thd) && wsrep_thd_is_applying(thd) &&
7988+
s->sequence && s->primary_key >= MAX_KEY)
7989+
{
7990+
DBUG_VOID_RETURN;
7991+
}
7992+
#endif /* WITH_WSREP */
7993+
79817994
/* if there is no PK, then mark all columns for the BI. */
79827995
if (s->primary_key >= MAX_KEY)
79837996
{

sql/wsrep_mysqld.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2827,7 +2827,7 @@ static int wsrep_TOI_begin(THD *thd, const char *db, const char *table,
28272827
DBUG_ASSERT(wsrep_OSU_method_get(thd) == WSREP_OSU_TOI);
28282828

28292829
WSREP_DEBUG("TOI Begin: %s", wsrep_thd_query(thd));
2830-
DEBUG_SYNC(thd, "wsrep_before_toi_begin");
2830+
DEBUG_SYNC(thd, "wsrep_toi_begin");
28312831

28322832
if (!wsrep_ready ||
28332833
wsrep_can_run_in_toi(thd, db, table, table_list, create_info) == false)

wsrep-lib

0 commit comments

Comments
 (0)