File: MW-86-wait8.test

package info (click to toggle)
mariadb-10.1 10.1.45-0%2Bdeb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 476,916 kB
  • sloc: cpp: 1,124,656; ansic: 871,843; perl: 52,917; sh: 40,078; pascal: 35,370; javascript: 15,555; yacc: 14,728; ruby: 8,684; xml: 5,377; sql: 3,490; makefile: 2,934; python: 1,970; java: 1,691; asm: 837; lex: 757; php: 22; sed: 16
file content (127 lines) | stat: -rw-r--r-- 2,755 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#
# SHOW commands now obey wsrep_sync_wait = 8 (WSREP_SYNC_WAIT_BEFORE_SHOW)
#
--source include/galera_cluster.inc
--source include/have_binlog_format_row.inc
--source include/have_debug_sync.inc

--connection node_2
# Make sure no signals have been leftover from previous tests to surprise us.
SELECT @@debug_sync;

SET SESSION wsrep_sync_wait = 8;
SET GLOBAL debug_dbug = "d,sync.wsrep_apply_cb";

--connection node_1
CREATE TABLE t_wait8 (f1 INTEGER) ENGINE=InnoDB;
# This will complete in node_1 but will start a background apply in node_2
# which will stop because of sync.wsrep_apply_cb we set above.
INSERT INTO t_wait8 VALUES (1);

--connection node_2

--let $wsrep_provider_options_orig = `SELECT @@wsrep_provider_options`
SET GLOBAL wsrep_provider_options = "repl.causal_read_timeout=PT0.1S";

SET SESSION debug_sync = "now WAIT_FOR sync.wsrep_apply_cb_reached";

--disable_result_log

--error ER_LOCK_WAIT_TIMEOUT
SHOW BINARY LOGS;

--error ER_LOCK_WAIT_TIMEOUT
SHOW BINLOG EVENTS;

--error ER_LOCK_WAIT_TIMEOUT
SHOW COLUMNS FROM t1;

--error ER_LOCK_WAIT_TIMEOUT
SHOW CREATE DATABASE db1;

--error ER_LOCK_WAIT_TIMEOUT
SHOW CREATE EVENT e1;

--error ER_LOCK_WAIT_TIMEOUT
SHOW CREATE FUNCTION f1;

--error ER_LOCK_WAIT_TIMEOUT
SHOW CREATE PROCEDURE p1;

--error ER_LOCK_WAIT_TIMEOUT
SHOW CREATE TABLE t1;

--error ER_LOCK_WAIT_TIMEOUT
SHOW CREATE TRIGGER tr1;

--error ER_LOCK_WAIT_TIMEOUT
SHOW CREATE VIEW v1;

--error ER_LOCK_WAIT_TIMEOUT
SHOW DATABASES;

--error 0
SHOW ENGINE InnoDB STATUS;

--error ER_LOCK_WAIT_TIMEOUT
SHOW FUNCTION CODE f1;

--error ER_LOCK_WAIT_TIMEOUT
SHOW FUNCTION STATUS;

--error ER_LOCK_WAIT_TIMEOUT
SHOW GRANTS FOR 'root'@'localhost';

--error ER_LOCK_WAIT_TIMEOUT
SHOW INDEX FROM t1;

--error ER_LOCK_WAIT_TIMEOUT
SHOW OPEN TABLES;

--error ER_LOCK_WAIT_TIMEOUT
SHOW PROCEDURE CODE p1;

--error ER_LOCK_WAIT_TIMEOUT
SHOW PROCEDURE STATUS;

--error 0
SHOW PRIVILEGES;

--error ER_LOCK_WAIT_TIMEOUT
SHOW STATUS LIKE 'wsrep_cluster_size';

--error ER_LOCK_WAIT_TIMEOUT
SHOW TABLE STATUS;

--error ER_LOCK_WAIT_TIMEOUT
SHOW TABLES;

--error ER_LOCK_WAIT_TIMEOUT
SHOW TRIGGERS;

--error ER_LOCK_WAIT_TIMEOUT
SHOW GLOBAL VARIABLES LIKE 'foo_bar';

--error 0
SHOW WARNINGS;

--enable_result_log

--disable_query_log
--eval SET GLOBAL wsrep_provider_options = "$wsrep_provider_options_orig"
--enable_query_log

# Unblock the background INSERT and remove the sync point.
SET GLOBAL debug_dbug = "";
SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb";

SET SESSION wsrep_sync_wait = default;

# This will wait for the background INSERT to complete before we quit
# from the test.
DROP TABLE t_wait8;

SET debug_sync='RESET';

# Make sure no pending signals are leftover to surprise subsequent tests.
SELECT @@debug_sync;