mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Removed wrong mutex lock (hangup in kill on HPUX)
all free_defaults() on exit in mysql.cc; Should fix problem with SSL Docs/manual.texi: Added information about --skip-innodb client/mysql.cc: Call free_defaults() on exit client/mysqladmin.c: Call free_defaults() on exit client/mysqlimport.c: Call free_defaults() on exit mysql-test/r/rpl000016.result: Added testing of temporary tables with binary log rotation mysql-test/t/rpl000016.test: Added testing of temporary tables with binary log rotation sql/log.cc: Remove not used variable sql/sql_class.h: Removed wrong mutex lock (hangup in kill on HPUX)
This commit is contained in:
@ -10,12 +10,14 @@ change master to master_host='127.0.0.1',master_port=MASTER_PORT,
|
||||
master_user='root';
|
||||
reset master;
|
||||
slave start;
|
||||
drop table if exists t1;
|
||||
drop table if exists t1, t2, t3, t4;
|
||||
create temporary table temp_table (a char(80) not null);
|
||||
insert into temp_table values ("testing temporary tables");
|
||||
create table t1 (s text);
|
||||
insert into t1 values('Could not break slave'),('Tried hard');
|
||||
show slave status;
|
||||
Master_Host Master_User Master_Port Connect_retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter Exec_master_log_pos Relay_log_space
|
||||
127.0.0.1 root MASTER_PORT 60 master-bin.001 234 slave-relay-bin.001 275 master-bin.001 Yes Yes 0 0 234 275
|
||||
127.0.0.1 root MASTER_PORT 60 master-bin.001 417 slave-relay-bin.001 458 master-bin.001 Yes Yes 0 0 417 458
|
||||
select * from t1;
|
||||
s
|
||||
Could not break slave
|
||||
@ -30,6 +32,11 @@ Log_name
|
||||
master-bin.001
|
||||
master-bin.002
|
||||
master-bin.003
|
||||
create table t3 select * from temp_table;
|
||||
select * from t3;
|
||||
a
|
||||
testing temporary tables
|
||||
drop table temp_table, t3;
|
||||
insert into t2 values(1234);
|
||||
set insert_id=1234;
|
||||
insert into t2 values(NULL);
|
||||
@ -42,7 +49,7 @@ master-bin.003
|
||||
insert into t2 values (65);
|
||||
show slave status;
|
||||
Master_Host Master_User Master_Port Connect_retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter Exec_master_log_pos Relay_log_space
|
||||
127.0.0.1 root MASTER_PORT 60 master-bin.003 155 slave-relay-bin.001 755 master-bin.003 Yes Yes 0 0 155 755
|
||||
127.0.0.1 root MASTER_PORT 60 master-bin.003 290 slave-relay-bin.001 1073 master-bin.003 Yes Yes 0 0 290 1073
|
||||
select * from t2;
|
||||
m
|
||||
34
|
||||
@ -50,8 +57,11 @@ m
|
||||
67
|
||||
123
|
||||
1234
|
||||
create temporary table temp_table (a char(80) not null);
|
||||
insert into temp_table values ("testing temporary tables part 2");
|
||||
drop table if exists t3;
|
||||
create table t3 (n int);
|
||||
create table t4 select * from temp_table;
|
||||
show master logs;
|
||||
Log_name
|
||||
master-bin.003
|
||||
@ -60,12 +70,13 @@ master-bin.005
|
||||
master-bin.006
|
||||
show master status;
|
||||
File Position Binlog_do_db Binlog_ignore_db
|
||||
master-bin.006 445
|
||||
slave stop;
|
||||
slave start;
|
||||
master-bin.006 838
|
||||
select * from t4;
|
||||
a
|
||||
testing temporary tables part 2
|
||||
show slave status;
|
||||
Master_Host Master_User Master_Port Connect_retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter Exec_master_log_pos Relay_log_space
|
||||
127.0.0.1 root MASTER_PORT 60 master-bin.006 445 slave-relay-bin.004 1229 master-bin.006 Yes Yes 0 0 445 1229
|
||||
127.0.0.1 root MASTER_PORT 60 master-bin.006 838 slave-relay-bin.004 1816 master-bin.006 Yes Yes 0 0 838 1816
|
||||
lock tables t3 read;
|
||||
select count(*) from t3 where n >= 4;
|
||||
count(*)
|
||||
|
@ -1,3 +1,14 @@
|
||||
#
|
||||
# Test are run with max_binlog_size=2048 to force automatic rotation of the
|
||||
# binary log
|
||||
# Tests done:
|
||||
# - Check that slaves reports correct failures if master.info has strange
|
||||
# modes/information
|
||||
# - Automatic binary log rotation
|
||||
# - Ensure that temporary tables works over flush logs and binary log
|
||||
# changes
|
||||
# - Test creating a duplicate key error and recover from it
|
||||
#
|
||||
connect (master,localhost,root,,test,0,master.sock);
|
||||
connect (slave,localhost,root,,test,0,slave.sock);
|
||||
system cat /dev/null > var/slave-data/master.info;
|
||||
@ -18,7 +29,14 @@ reset master;
|
||||
connection slave;
|
||||
slave start;
|
||||
connection master;
|
||||
drop table if exists t1;
|
||||
|
||||
drop table if exists t1, t2, t3, t4;
|
||||
|
||||
#
|
||||
# Test FLUSH LOGS
|
||||
#
|
||||
create temporary table temp_table (a char(80) not null);
|
||||
insert into temp_table values ("testing temporary tables");
|
||||
create table t1 (s text);
|
||||
insert into t1 values('Could not break slave'),('Tried hard');
|
||||
save_master_pos;
|
||||
@ -32,15 +50,24 @@ flush logs;
|
||||
drop table if exists t2;
|
||||
create table t2(m int not null auto_increment primary key);
|
||||
insert into t2 values (34),(67),(123);
|
||||
save_master_pos;
|
||||
flush logs;
|
||||
show master logs;
|
||||
create table t3 select * from temp_table;
|
||||
|
||||
#now lets make some duplicate key mess and see if we can recover from it
|
||||
|
||||
#first insert a value on the slave
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
|
||||
select * from t3;
|
||||
connection master;
|
||||
drop table temp_table, t3;
|
||||
|
||||
#
|
||||
# Now lets make some duplicate key mess and see if we can recover from it
|
||||
#
|
||||
|
||||
# First insert a value on the slave
|
||||
connection slave;
|
||||
insert into t2 values(1234);
|
||||
|
||||
#same value on the master
|
||||
@ -73,7 +100,14 @@ sync_with_master;
|
||||
--replace_result 3306 MASTER_PORT 9306 MASTER_PORT 3334 MASTER_PORT 3336 MASTER_PORT
|
||||
show slave status;
|
||||
select * from t2;
|
||||
|
||||
#
|
||||
# Test forcing the replication log to rotate
|
||||
#
|
||||
|
||||
connection master;
|
||||
create temporary table temp_table (a char(80) not null);
|
||||
insert into temp_table values ("testing temporary tables part 2");
|
||||
let $1=100;
|
||||
drop table if exists t3;
|
||||
create table t3 (n int);
|
||||
@ -85,13 +119,16 @@ while ($1)
|
||||
dec $1;
|
||||
}
|
||||
enable_query_log;
|
||||
create table t4 select * from temp_table;
|
||||
show master logs;
|
||||
show master status;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
slave stop;
|
||||
slave start;
|
||||
#slave stop;
|
||||
#slave start;
|
||||
sync_with_master;
|
||||
select * from t4;
|
||||
|
||||
--replace_result 3306 MASTER_PORT 9306 MASTER_PORT 3334 MASTER_PORT 3336 MASTER_PORT
|
||||
show slave status;
|
||||
# because of concurrent insert, the table may not be up to date
|
||||
|
Reference in New Issue
Block a user