[CP] fix mysqltest: trx.tx_free_route
This commit is contained in:
parent
f76d40a9c7
commit
cc4af50836
@ -1,5 +1,5 @@
|
||||
change mysql tenant primary_zone to RANDOM
|
||||
alter tenant mysql set primary_zone = 'RANDOM';
|
||||
create resource unit if not exists tx_free_route_unit max_cpu=1, memory_size='2G';
|
||||
create tenant tx_free_route_tenant replica_num=2, resource_pool_list=('tx_free_route_pool'),primary_zone=RANDOM set ob_tcp_invited_nodes='%',ob_compatibility_mode='mysql';
|
||||
drop table if exists t;
|
||||
create table t(id int primary key) partition by range(id)
|
||||
(partition p0 values less than (10000), partition p1 values less than (3000000000));
|
||||
@ -358,4 +358,6 @@ drop outline tx_route_test_ot_4;
|
||||
"------------- X - special query types ----------------------"
|
||||
"CLEANUP"
|
||||
drop table t;
|
||||
recovery primary_zone settings for mysql tenant
|
||||
drop tenant tx_free_route_tenant force;
|
||||
drop resource pool tx_free_route_pool;
|
||||
drop resource unit tx_free_route_unit;
|
||||
|
@ -2,9 +2,42 @@
|
||||
## common routines to prepare table and ls topology for tx_free_route test
|
||||
## -------
|
||||
|
||||
connection sys;
|
||||
|
||||
# create tenant for test
|
||||
|
||||
--disable_warnings
|
||||
create resource unit if not exists tx_free_route_unit max_cpu=1, memory_size='2G';
|
||||
--enable_warnings
|
||||
--disable_abort_on_error
|
||||
--disable_query_log
|
||||
--disable_result_log
|
||||
let $i=0;
|
||||
let $breakloop=0;
|
||||
while($breakloop == 0) {
|
||||
create resource pool tx_free_route_pool unit='tx_free_route_unit',unit_num=1,zone_list=('zone1','zone2');
|
||||
if ($mysql_errno == 0) {
|
||||
let $breakloop=1;
|
||||
}
|
||||
if ($mysql_errno != 0) {
|
||||
--inc $i
|
||||
if ($i > 20) {
|
||||
--echo "create resource pool failed : retry times=$i, error no=$mysql_errno"
|
||||
let $breakloop=1;
|
||||
}
|
||||
--sleep 1
|
||||
}
|
||||
}
|
||||
--enable_abort_on_error
|
||||
--enable_query_log
|
||||
--enable_result_log
|
||||
|
||||
eval create tenant tx_free_route_tenant replica_num=2, resource_pool_list=('tx_free_route_pool'),primary_zone=RANDOM set ob_tcp_invited_nodes='%',ob_compatibility_mode='$compat_mode';
|
||||
|
||||
let $tenant_id=`select tenant_id from oceanbase.__all_tenant where tenant_name = 'tx_free_route_tenant'`;
|
||||
|
||||
# check tenant has multiple ls
|
||||
|
||||
connection sys;
|
||||
let $breakLoop=0;
|
||||
let $i=0;
|
||||
let $fail = 0;
|
||||
@ -14,7 +47,7 @@ while ($breakLoop == 0) {
|
||||
if ($lsCnt > 1) {
|
||||
--inc $breakLoop
|
||||
}
|
||||
if ($i >= 3000) {
|
||||
if ($i >= 50) {
|
||||
--inc $fail
|
||||
--inc $breakLoop
|
||||
}
|
||||
@ -26,21 +59,27 @@ if ($fail > 0) {
|
||||
eval select * from oceanbase.__all_virtual_ls where tenant_id = $tenant_id;
|
||||
}
|
||||
|
||||
connection conn0;
|
||||
|
||||
let $tname=$tenant_name;
|
||||
|
||||
if ($tname == '') {
|
||||
die "error , tenant_name unspeficied: $tenant_name";
|
||||
if ($compat_mode == 'mysql') {
|
||||
connect (conn0,$OBMYSQL_MS0,root@tx_free_route_tenant,,test,$OBMYSQL_PORT);
|
||||
connect (conn1,$OBMYSQL_MS0,root@tx_free_route_tenant,,test,$OBMYSQL_PORT);
|
||||
connect (conn2,$OBMYSQL_MS0,root@tx_free_route_tenant,,test,$OBMYSQL_PORT);
|
||||
}
|
||||
|
||||
if ($tname == 'mysql') {
|
||||
if ($compat_mode == 'oracle') {
|
||||
connect (conn0,$OBMYSQL_MS0,sys@tx_free_route_tenant,,sys,$OBMYSQL_PORT);
|
||||
connect (conn1,$OBMYSQL_MS0,sys@tx_free_route_tenant,,sys,$OBMYSQL_PORT);
|
||||
connect (conn2,$OBMYSQL_MS0,sys@tx_free_route_tenant,,sys,$OBMYSQL_PORT);
|
||||
}
|
||||
|
||||
connection conn0;
|
||||
|
||||
if ($compat_mode == 'mysql') {
|
||||
--disable_warnings
|
||||
drop table if exists t;
|
||||
--enable_warnings
|
||||
}
|
||||
|
||||
if ($tname == 'oracle') {
|
||||
if ($compat_mode == 'oracle') {
|
||||
--disable_abort_on_error
|
||||
--disable_result_log
|
||||
drop table t purge;
|
||||
@ -72,7 +111,7 @@ while ($breakLoop == 0)
|
||||
if ($lsCnt > 1) {
|
||||
--inc $breakLoop
|
||||
}
|
||||
if ($i >= 3000) {
|
||||
if ($i >= 50) {
|
||||
--inc $fail
|
||||
--inc $breakLoop
|
||||
}
|
||||
|
@ -21,18 +21,7 @@ if ($client_session_id_version == '2') {
|
||||
--enable_query_log
|
||||
--enable_result_log
|
||||
|
||||
# change tenant primary zone to RANDOM
|
||||
let $saved_primary_zone=`select primary_zone from oceanbase.__all_tenant where tenant_name = 'mysql'`;
|
||||
--echo change mysql tenant primary_zone to RANDOM
|
||||
alter tenant mysql set primary_zone = 'RANDOM';
|
||||
|
||||
let $tenant_id=`select tenant_id from oceanbase.__all_tenant where tenant_name = 'mysql'`;
|
||||
|
||||
let $tenant_name=mysql;
|
||||
|
||||
connect (conn0,$OBMYSQL_MS0,admin@mysql,$OBMYSQL_PWD,test,$OBMYSQL_PORT);
|
||||
connect (conn1,$OBMYSQL_MS0,admin@mysql,$OBMYSQL_PWD,test,$OBMYSQL_PORT);
|
||||
|
||||
let $compat_mode=mysql;
|
||||
--source mysql_test/test_suite/trx/t/tx_free_route.inc
|
||||
|
||||
connection conn0;
|
||||
@ -413,7 +402,7 @@ if ($session_0 != $session_1) {
|
||||
if ($session_0 != $session_2) {
|
||||
--echo "unexpected error happen!!!";
|
||||
}
|
||||
}
|
||||
}
|
||||
--disable_query_log
|
||||
--disable_result_log
|
||||
if ($session_0 == $session_1) {
|
||||
@ -793,7 +782,7 @@ delete from t;
|
||||
commit;
|
||||
set global autocommit=0;
|
||||
--echo "CASE 8.1"
|
||||
connect (conn8,$OBMYSQL_MS0,admin@mysql,$OBMYSQL_PWD,test,$OBMYSQL_PORT);
|
||||
connect (conn8,$OBMYSQL_MS0, root@tx_free_route_tenant,,test,$OBMYSQL_PORT);
|
||||
connection conn8;
|
||||
select * from t where id = 1;
|
||||
set autocommit=1;
|
||||
@ -808,7 +797,7 @@ disconnect conn8;
|
||||
if ($s1 == $2) { --echo "not free routed: $s1, $s2"
|
||||
}
|
||||
--echo "CASE 8.2"
|
||||
connect (conn82,$OBMYSQL_MS0,admin@mysql,$OBMYSQL_PWD,test,$OBMYSQL_PORT);
|
||||
connect (conn82,$OBMYSQL_MS0,root@tx_free_route_tenant,,test,$OBMYSQL_PORT);
|
||||
begin;
|
||||
insert into t values(2);
|
||||
let $s3=`select connection_id()`;
|
||||
@ -824,7 +813,7 @@ connection conn0;
|
||||
set global autocommit=1;
|
||||
|
||||
--echo "------------- 9 - error-packet caused proxy duplicate sync etc ----------------------"
|
||||
connect (conn90,$OBMYSQL_MS0,admin@mysql,$OBMYSQL_PWD,test,$OBMYSQL_PORT);
|
||||
connect (conn90,$OBMYSQL_MS0,root@tx_free_route_tenant,,test,$OBMYSQL_PORT);
|
||||
delete from t;
|
||||
commit;
|
||||
begin;
|
||||
@ -857,7 +846,7 @@ if ($s6 != $s1) { --echo "s1 != s6: $s1, $s6"
|
||||
}
|
||||
disconnect conn90;
|
||||
--echo "------------- 10 - readonly tx with serializable snapshot swtich txn----------------------"
|
||||
connect (conn100,$OBMYSQL_MS0,admin@mysql,$OBMYSQL_PWD,test,$OBMYSQL_PORT);
|
||||
connect (conn100,$OBMYSQL_MS0,root@tx_free_route_tenant,,test,$OBMYSQL_PORT);
|
||||
delete from t;
|
||||
commit;
|
||||
--disable_abort_on_error
|
||||
@ -910,11 +899,15 @@ disconnect conn100;
|
||||
--echo "CLEANUP"
|
||||
connection conn0;
|
||||
drop table t;
|
||||
|
||||
disconnect conn0;
|
||||
disconnect conn1;
|
||||
disconnect conn2;
|
||||
|
||||
connection sys;
|
||||
--echo recovery primary_zone settings for mysql tenant
|
||||
--disable_query_log
|
||||
eval alter tenant mysql set primary_zone = "$saved_primary_zone";
|
||||
--enable_query_log
|
||||
drop tenant tx_free_route_tenant force;
|
||||
drop resource pool tx_free_route_pool;
|
||||
drop resource unit tx_free_route_unit;
|
||||
|
||||
# recover proxy config
|
||||
--disable_abort_on_error
|
||||
@ -934,7 +927,4 @@ if ($client_session_id_version == 2) {
|
||||
--enable_query_log
|
||||
--enable_result_log
|
||||
|
||||
--sleep 5
|
||||
|
||||
disconnect conn0;
|
||||
disconnect conn1;
|
||||
disconnect sys;
|
||||
|
Loading…
x
Reference in New Issue
Block a user