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 128 129 130 131 132 133 134 135 136 137 138
|
CALL mtr.add_suppression("The option expire_logs_days cannot be used together*");
####
#### 1. When binlog_expire_logs_seconds == 0 and expire_logs_days == 0
#### no purge should happen
SET GLOBAL binlog_expire_logs_seconds= 0;
SET GLOBAL expire_logs_days= 0;
Warnings:
Warning 1287 '@@expire_logs_days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
CREATE TABLE t1(s LONGBLOB );
Case:0
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 1. FLUSH LOGS
FLUSH LOGS;
RESET MASTER;
Case:1
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 2. Binlog_size > max_binlog_size
SET @@GLOBAL.MAX_BINLOG_SIZE= 4096;
INSERT INTO t1 (s) VALUES (REPEAT('s',50000));
RESET MASTER;
Case:2
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 3. Server restart
# restart:--binlog_expire_logs_seconds=0
RESET MASTER;
##### Cleanup #####
SET @@GLOBAL.MAX_BINLOG_SIZE= 1073741824;;
DROP TABLE t1;
RESET MASTER;
####
#### 2.1: binlog_expire_logs_seconds > 0 and expire_logs_days == 0
####
Testing with smaller values of binlog_expire_logs_seconds
SET GLOBAL binlog_expire_logs_seconds= 30;
SET GLOBAL expire_logs_days= 0;
Warnings:
Warning 1287 '@@expire_logs_days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
FLUSH LOGS;
FLUSH LOGS;
FLUSH LOGS;
RESET MASTER;
Testing with greater values of binlog_expire_logs_seconds
SET GLOBAL binlog_expire_logs_seconds= 3600;
SET GLOBAL expire_logs_days= 0;
Warnings:
Warning 1287 '@@expire_logs_days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
CREATE TABLE t1(s LONGBLOB );
Case:0
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 1. FLUSH LOGS
FLUSH LOGS;
RESET MASTER;
Case:1
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 2. Binlog_size > max_binlog_size
SET @@GLOBAL.MAX_BINLOG_SIZE= 4096;
INSERT INTO t1 (s) VALUES (REPEAT('s',50000));
RESET MASTER;
Case:2
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 3. Server restart
# restart:--binlog_expire_logs_seconds=3600
RESET MASTER;
##### Cleanup #####
SET @@GLOBAL.MAX_BINLOG_SIZE= 1073741824;;
DROP TABLE t1;
RESET MASTER;
####
#### 2.3: binlog_expire_logs_seconds == 0 and expire_logs_days > 0
####
SET GLOBAL binlog_expire_logs_seconds= 0;
SET GLOBAL expire_logs_days= 1;
Warnings:
Warning 1287 '@@expire_logs_days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
CREATE TABLE t1(s LONGBLOB );
Case:0
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 1. FLUSH LOGS
FLUSH LOGS;
RESET MASTER;
Case:1
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 2. Binlog_size > max_binlog_size
SET @@GLOBAL.MAX_BINLOG_SIZE= 4096;
INSERT INTO t1 (s) VALUES (REPEAT('s',50000));
RESET MASTER;
Case:2
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 3. Server restart
# restart:--binlog_expire_logs_seconds=86400
RESET MASTER;
##### Cleanup #####
SET @@GLOBAL.MAX_BINLOG_SIZE= 1073741824;;
DROP TABLE t1;
RESET MASTER;
RESET MASTER;
SET GLOBAL binlog_expire_logs_seconds=2147483648;
FLUSH LOGS;
RESET MASTER;
SET GLOBAL binlog_expire_logs_seconds=4294967295;
FLUSH LOGS;
RESET MASTER;
### Code coverage for WL#14930 boundary conditions
### Expiration time < 0
### Test case: binlog_expire_logs_seconds set to current time
SET GLOBAL binlog_expire_logs_seconds= CURRENT_TIME;
FLUSH LOGS;
RESET MASTER;
### Test case: binlog_expire_logs_seconds set to current_time + 2^31
SET GLOBAL binlog_expire_logs_seconds= 2<<31+ CURRENT_TIME;
FLUSH LOGS;
RESET MASTER;
### Test case: binlog_expire_logs_seconds set to current_time + 2^30
SET GLOBAL binlog_expire_logs_seconds= 2<<30+ CURRENT_TIME;
FLUSH LOGS;
RESET MASTER;
SET GLOBAL binlog_expire_logs_seconds= 0;
SET GLOBAL expire_logs_days= 0;
Warnings:
Warning 1287 '@@expire_logs_days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
|