Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
9f4a8ba7
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
9f4a8ba7
编写于
12月 24, 2020
作者:
S
Shengliang Guan
提交者:
GitHub
12月 24, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #4671 from taosdata/feature/sim
Feature/sim
上级
ee9b0063
1b11d6d9
变更
77
隐藏空白更改
内联
并排
Showing
77 changed file
with
3046 addition
and
1178 deletion
+3046
-1178
src/balance/src/bnMain.c
src/balance/src/bnMain.c
+2
-1
src/balance/src/bnThread.c
src/balance/src/bnThread.c
+5
-1
src/common/inc/tglobal.h
src/common/inc/tglobal.h
+2
-1
src/common/src/tglobal.c
src/common/src/tglobal.c
+14
-3
src/dnode/src/dnodeMain.c
src/dnode/src/dnodeMain.c
+1
-1
src/dnode/src/dnodeVRead.c
src/dnode/src/dnodeVRead.c
+3
-2
src/dnode/src/dnodeVWrite.c
src/dnode/src/dnodeVWrite.c
+1
-0
src/mnode/src/mnodeMnode.c
src/mnode/src/mnodeMnode.c
+23
-0
src/mnode/src/mnodeSdb.c
src/mnode/src/mnodeSdb.c
+2
-0
src/mnode/src/mnodeVgroup.c
src/mnode/src/mnodeVgroup.c
+3
-3
src/os/inc/osSocket.h
src/os/inc/osSocket.h
+1
-0
src/os/src/detail/osSocket.c
src/os/src/detail/osSocket.c
+4
-0
src/os/src/windows/wSocket.c
src/os/src/windows/wSocket.c
+1
-0
src/sync/inc/syncInt.h
src/sync/inc/syncInt.h
+11
-9
src/sync/inc/syncTcp.h
src/sync/inc/syncTcp.h
+3
-3
src/sync/src/syncArbitrator.c
src/sync/src/syncArbitrator.c
+7
-7
src/sync/src/syncMain.c
src/sync/src/syncMain.c
+215
-93
src/sync/src/syncRestore.c
src/sync/src/syncRestore.c
+25
-9
src/sync/src/syncRetrieve.c
src/sync/src/syncRetrieve.c
+9
-3
src/sync/src/syncTcp.c
src/sync/src/syncTcp.c
+5
-5
src/util/src/tsocket.c
src/util/src/tsocket.c
+12
-0
src/vnode/src/vnodeCfg.c
src/vnode/src/vnodeCfg.c
+3
-2
src/vnode/src/vnodeMgmt.c
src/vnode/src/vnodeMgmt.c
+4
-1
src/vnode/src/vnodeRead.c
src/vnode/src/vnodeRead.c
+9
-5
src/vnode/src/vnodeWrite.c
src/vnode/src/vnodeWrite.c
+1
-1
tests/script/general/db/alter_tables_d2.sim
tests/script/general/db/alter_tables_d2.sim
+98
-18
tests/script/general/db/alter_tables_v1.sim
tests/script/general/db/alter_tables_v1.sim
+91
-16
tests/script/general/db/alter_tables_v4.sim
tests/script/general/db/alter_tables_v4.sim
+78
-13
tests/script/general/db/delete_reusevnode.sim
tests/script/general/db/delete_reusevnode.sim
+0
-2
tests/script/general/db/delete_writing1.sim
tests/script/general/db/delete_writing1.sim
+0
-1
tests/script/general/table/delete_writing.sim
tests/script/general/table/delete_writing.sim
+0
-2
tests/script/general/wal/sync.sim
tests/script/general/wal/sync.sim
+30
-9
tests/script/jenkins/basic.txt
tests/script/jenkins/basic.txt
+1
-0
tests/script/jenkins/basic_3.txt
tests/script/jenkins/basic_3.txt
+32
-34
tests/script/jenkins/unique.txt
tests/script/jenkins/unique.txt
+2
-0
tests/script/sh/deploy.sh
tests/script/sh/deploy.sh
+2
-0
tests/script/unique/arbitrator/dn3_mn1_r3_vnode_delDir.sim
tests/script/unique/arbitrator/dn3_mn1_r3_vnode_delDir.sim
+4
-2
tests/script/unique/arbitrator/dn3_mn1_replica_change.sim
tests/script/unique/arbitrator/dn3_mn1_replica_change.sim
+160
-327
tests/script/unique/arbitrator/dn3_mn1_replica_change_dropDnod.sim
...ipt/unique/arbitrator/dn3_mn1_replica_change_dropDnod.sim
+8
-0
tests/script/unique/arbitrator/dn3_mn1_vnode_nomaster.sim
tests/script/unique/arbitrator/dn3_mn1_vnode_nomaster.sim
+5
-3
tests/script/unique/arbitrator/sync_replica3_alterTable_add.sim
...script/unique/arbitrator/sync_replica3_alterTable_add.sim
+3
-9
tests/script/unique/arbitrator/sync_replica_alterTable_background_add.sim
...que/arbitrator/sync_replica_alterTable_background_add.sim
+3
-0
tests/script/unique/big/balance.sim
tests/script/unique/big/balance.sim
+33
-22
tests/script/unique/big/tcp.sim
tests/script/unique/big/tcp.sim
+2
-3
tests/script/unique/cluster/balance1.sim
tests/script/unique/cluster/balance1.sim
+48
-23
tests/script/unique/cluster/balance2.sim
tests/script/unique/cluster/balance2.sim
+47
-15
tests/script/unique/cluster/balance3.sim
tests/script/unique/cluster/balance3.sim
+142
-92
tests/script/unique/cluster/vgroup100.sim
tests/script/unique/cluster/vgroup100.sim
+0
-5
tests/script/unique/db/delete.sim
tests/script/unique/db/delete.sim
+0
-5
tests/script/unique/db/delete_part.sim
tests/script/unique/db/delete_part.sim
+34
-17
tests/script/unique/db/replica_add12.sim
tests/script/unique/db/replica_add12.sim
+155
-48
tests/script/unique/db/replica_add13.sim
tests/script/unique/db/replica_add13.sim
+171
-27
tests/script/unique/db/replica_add23.sim
tests/script/unique/db/replica_add23.sim
+171
-27
tests/script/unique/db/replica_part.sim
tests/script/unique/db/replica_part.sim
+181
-31
tests/script/unique/db/replica_reduce21.sim
tests/script/unique/db/replica_reduce21.sim
+49
-16
tests/script/unique/db/replica_reduce31.sim
tests/script/unique/db/replica_reduce31.sim
+116
-21
tests/script/unique/db/replica_reduce32.sim
tests/script/unique/db/replica_reduce32.sim
+164
-28
tests/script/unique/dnode/balance1.sim
tests/script/unique/dnode/balance1.sim
+7
-9
tests/script/unique/dnode/balance2.sim
tests/script/unique/dnode/balance2.sim
+30
-11
tests/script/unique/dnode/balance3.sim
tests/script/unique/dnode/balance3.sim
+36
-14
tests/script/unique/dnode/offline3.sim
tests/script/unique/dnode/offline3.sim
+111
-0
tests/script/unique/dnode/reason.sim
tests/script/unique/dnode/reason.sim
+91
-20
tests/script/unique/dnode/remove1.sim
tests/script/unique/dnode/remove1.sim
+26
-10
tests/script/unique/dnode/remove2.sim
tests/script/unique/dnode/remove2.sim
+30
-7
tests/script/unique/dnode/vnode_clean.sim
tests/script/unique/dnode/vnode_clean.sim
+12
-14
tests/script/unique/import/replica2.sim
tests/script/unique/import/replica2.sim
+78
-10
tests/script/unique/import/replica3.sim
tests/script/unique/import/replica3.sim
+63
-7
tests/script/unique/mnode/mgmt20.sim
tests/script/unique/mnode/mgmt20.sim
+2
-3
tests/script/unique/mnode/mgmt22.sim
tests/script/unique/mnode/mgmt22.sim
+6
-8
tests/script/unique/mnode/mgmt23.sim
tests/script/unique/mnode/mgmt23.sim
+25
-16
tests/script/unique/mnode/mgmt33.sim
tests/script/unique/mnode/mgmt33.sim
+64
-26
tests/script/unique/mnode/mgmt34.sim
tests/script/unique/mnode/mgmt34.sim
+74
-35
tests/script/unique/mnode/mgmtr2.sim
tests/script/unique/mnode/mgmtr2.sim
+12
-9
tests/script/unique/vnode/many.sim
tests/script/unique/vnode/many.sim
+31
-1
tests/script/unique/vnode/replica2_repeat.sim
tests/script/unique/vnode/replica2_repeat.sim
+33
-2
tests/script/unique/vnode/replica3_basic.sim
tests/script/unique/vnode/replica3_basic.sim
+82
-8
tests/script/unique/vnode/replica3_repeat.sim
tests/script/unique/vnode/replica3_repeat.sim
+37
-2
未找到文件。
src/balance/src/bnMain.c
浏览文件 @
9f4a8ba7
...
@@ -330,7 +330,7 @@ void bnReset() {
...
@@ -330,7 +330,7 @@ void bnReset() {
tsAccessSquence
=
0
;
tsAccessSquence
=
0
;
}
}
static
int32_t
bnMonitorVgroups
()
{
static
bool
bnMonitorVgroups
()
{
void
*
pIter
=
NULL
;
void
*
pIter
=
NULL
;
SVgObj
*
pVgroup
=
NULL
;
SVgObj
*
pVgroup
=
NULL
;
bool
hasUpdatingVgroup
=
false
;
bool
hasUpdatingVgroup
=
false
;
...
@@ -489,6 +489,7 @@ void bnCheckStatus() {
...
@@ -489,6 +489,7 @@ void bnCheckStatus() {
mInfo
(
"dnode:%d, set to offline state, access seq:%d last seq:%d laststat:%d"
,
pDnode
->
dnodeId
,
tsAccessSquence
,
mInfo
(
"dnode:%d, set to offline state, access seq:%d last seq:%d laststat:%d"
,
pDnode
->
dnodeId
,
tsAccessSquence
,
pDnode
->
lastAccess
,
pDnode
->
status
);
pDnode
->
lastAccess
,
pDnode
->
status
);
bnSetVgroupOffline
(
pDnode
);
bnSetVgroupOffline
(
pDnode
);
bnStartTimer
(
3000
);
}
}
}
}
mnodeDecDnodeRef
(
pDnode
);
mnodeDecDnodeRef
(
pDnode
);
...
...
src/balance/src/bnThread.c
浏览文件 @
9f4a8ba7
...
@@ -31,7 +31,10 @@ static void *bnThreadFunc(void *arg) {
...
@@ -31,7 +31,10 @@ static void *bnThreadFunc(void *arg) {
}
}
pthread_cond_wait
(
&
tsBnThread
.
cond
,
&
tsBnThread
.
mutex
);
pthread_cond_wait
(
&
tsBnThread
.
cond
,
&
tsBnThread
.
mutex
);
mDebug
(
"balance thread wakes up to work"
);
bool
updateSoon
=
bnStart
();
bool
updateSoon
=
bnStart
();
mDebug
(
"balance thread finished this poll, updateSoon:%d"
,
updateSoon
);
bnStartTimer
(
updateSoon
?
1000
:
-
1
);
bnStartTimer
(
updateSoon
?
1000
:
-
1
);
pthread_mutex_unlock
(
&
(
tsBnThread
.
mutex
));
pthread_mutex_unlock
(
&
(
tsBnThread
.
mutex
));
}
}
...
@@ -101,8 +104,8 @@ static void bnProcessTimer(void *handle, void *tmrId) {
...
@@ -101,8 +104,8 @@ static void bnProcessTimer(void *handle, void *tmrId) {
tsBnThread
.
timer
=
NULL
;
tsBnThread
.
timer
=
NULL
;
tsAccessSquence
++
;
tsAccessSquence
++
;
bnCheckStatus
();
bnStartTimer
(
-
1
);
bnStartTimer
(
-
1
);
bnCheckStatus
();
if
(
handle
==
NULL
)
{
if
(
handle
==
NULL
)
{
if
(
tsAccessSquence
%
tsBalanceInterval
==
0
)
{
if
(
tsAccessSquence
%
tsBalanceInterval
==
0
)
{
...
@@ -121,6 +124,7 @@ void bnStartTimer(int64_t mseconds) {
...
@@ -121,6 +124,7 @@ void bnStartTimer(int64_t mseconds) {
bool
updateSoon
=
(
mseconds
!=
-
1
);
bool
updateSoon
=
(
mseconds
!=
-
1
);
if
(
updateSoon
)
{
if
(
updateSoon
)
{
mTrace
(
"balance function will be called after %"
PRId64
" ms"
,
mseconds
);
taosTmrReset
(
bnProcessTimer
,
mseconds
,
(
void
*
)
mseconds
,
tsMnodeTmr
,
&
tsBnThread
.
timer
);
taosTmrReset
(
bnProcessTimer
,
mseconds
,
(
void
*
)
mseconds
,
tsMnodeTmr
,
&
tsBnThread
.
timer
);
}
else
{
}
else
{
taosTmrReset
(
bnProcessTimer
,
tsStatusInterval
*
1000
,
NULL
,
tsMnodeTmr
,
&
tsBnThread
.
timer
);
taosTmrReset
(
bnProcessTimer
,
tsStatusInterval
*
1000
,
NULL
,
tsMnodeTmr
,
&
tsBnThread
.
timer
);
...
...
src/common/inc/tglobal.h
浏览文件 @
9f4a8ba7
...
@@ -101,7 +101,8 @@ extern int32_t tsAlternativeRole;
...
@@ -101,7 +101,8 @@ extern int32_t tsAlternativeRole;
extern
int32_t
tsBalanceInterval
;
extern
int32_t
tsBalanceInterval
;
extern
int32_t
tsOfflineThreshold
;
extern
int32_t
tsOfflineThreshold
;
extern
int32_t
tsMnodeEqualVnodeNum
;
extern
int32_t
tsMnodeEqualVnodeNum
;
extern
int32_t
tsFlowCtrl
;
extern
int32_t
tsEnableFlowCtrl
;
extern
int32_t
tsEnableSlaveQuery
;
// restful
// restful
extern
int32_t
tsEnableHttpModule
;
extern
int32_t
tsEnableHttpModule
;
...
...
src/common/src/tglobal.c
浏览文件 @
9f4a8ba7
...
@@ -138,7 +138,8 @@ int32_t tsAlternativeRole = 0;
...
@@ -138,7 +138,8 @@ int32_t tsAlternativeRole = 0;
int32_t
tsBalanceInterval
=
300
;
// seconds
int32_t
tsBalanceInterval
=
300
;
// seconds
int32_t
tsOfflineThreshold
=
86400
*
100
;
// seconds 10days
int32_t
tsOfflineThreshold
=
86400
*
100
;
// seconds 10days
int32_t
tsMnodeEqualVnodeNum
=
4
;
int32_t
tsMnodeEqualVnodeNum
=
4
;
int32_t
tsFlowCtrl
=
1
;
int32_t
tsEnableFlowCtrl
=
1
;
int32_t
tsEnableSlaveQuery
=
1
;
// restful
// restful
int32_t
tsEnableHttpModule
=
1
;
int32_t
tsEnableHttpModule
=
1
;
...
@@ -542,7 +543,7 @@ static void doInitGlobalConfig(void) {
...
@@ -542,7 +543,7 @@ static void doInitGlobalConfig(void) {
cfg
.
ptr
=
&
tsOfflineThreshold
;
cfg
.
ptr
=
&
tsOfflineThreshold
;
cfg
.
valType
=
TAOS_CFG_VTYPE_INT32
;
cfg
.
valType
=
TAOS_CFG_VTYPE_INT32
;
cfg
.
cfgType
=
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_SHOW
;
cfg
.
cfgType
=
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_SHOW
;
cfg
.
minValue
=
5
;
cfg
.
minValue
=
3
;
cfg
.
maxValue
=
7200000
;
cfg
.
maxValue
=
7200000
;
cfg
.
ptrLength
=
0
;
cfg
.
ptrLength
=
0
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_SECOND
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_SECOND
;
...
@@ -1004,7 +1005,17 @@ static void doInitGlobalConfig(void) {
...
@@ -1004,7 +1005,17 @@ static void doInitGlobalConfig(void) {
// module configs
// module configs
cfg
.
option
=
"flowctrl"
;
cfg
.
option
=
"flowctrl"
;
cfg
.
ptr
=
&
tsFlowCtrl
;
cfg
.
ptr
=
&
tsEnableFlowCtrl
;
cfg
.
valType
=
TAOS_CFG_VTYPE_INT32
;
cfg
.
cfgType
=
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_SHOW
;
cfg
.
minValue
=
0
;
cfg
.
maxValue
=
1
;
cfg
.
ptrLength
=
0
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
taosInitConfigOption
(
cfg
);
cfg
.
option
=
"slaveQuery"
;
cfg
.
ptr
=
&
tsEnableSlaveQuery
;
cfg
.
valType
=
TAOS_CFG_VTYPE_INT32
;
cfg
.
valType
=
TAOS_CFG_VTYPE_INT32
;
cfg
.
cfgType
=
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_SHOW
;
cfg
.
cfgType
=
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_SHOW
;
cfg
.
minValue
=
0
;
cfg
.
minValue
=
0
;
...
...
src/dnode/src/dnodeMain.c
浏览文件 @
9f4a8ba7
...
@@ -113,6 +113,7 @@ static void dnodeCleanupTmr() {
...
@@ -113,6 +113,7 @@ static void dnodeCleanupTmr() {
int32_t
dnodeInitSystem
()
{
int32_t
dnodeInitSystem
()
{
dnodeSetRunStatus
(
TSDB_RUN_STATUS_INITIALIZE
);
dnodeSetRunStatus
(
TSDB_RUN_STATUS_INITIALIZE
);
tscEmbedded
=
1
;
tscEmbedded
=
1
;
taosIgnSIGPIPE
();
taosBlockSIGPIPE
();
taosBlockSIGPIPE
();
taosResolveCRC
();
taosResolveCRC
();
taosInitGlobalCfg
();
taosInitGlobalCfg
();
...
@@ -120,7 +121,6 @@ int32_t dnodeInitSystem() {
...
@@ -120,7 +121,6 @@ int32_t dnodeInitSystem() {
taosSetCoreDump
();
taosSetCoreDump
();
taosInitNotes
();
taosInitNotes
();
dnodeInitTmr
();
dnodeInitTmr
();
signal
(
SIGPIPE
,
SIG_IGN
);
if
(
dnodeCreateDir
(
tsLogDir
)
<
0
)
{
if
(
dnodeCreateDir
(
tsLogDir
)
<
0
)
{
printf
(
"failed to create dir: %s, reason: %s
\n
"
,
tsLogDir
,
strerror
(
errno
));
printf
(
"failed to create dir: %s, reason: %s
\n
"
,
tsLogDir
,
strerror
(
errno
));
...
...
src/dnode/src/dnodeVRead.c
浏览文件 @
9f4a8ba7
...
@@ -54,6 +54,7 @@ void dnodeCleanupVRead() {
...
@@ -54,6 +54,7 @@ void dnodeCleanupVRead() {
void
dnodeDispatchToVReadQueue
(
SRpcMsg
*
pMsg
)
{
void
dnodeDispatchToVReadQueue
(
SRpcMsg
*
pMsg
)
{
int32_t
queuedMsgNum
=
0
;
int32_t
queuedMsgNum
=
0
;
int32_t
leftLen
=
pMsg
->
contLen
;
int32_t
leftLen
=
pMsg
->
contLen
;
int32_t
code
=
TSDB_CODE_VND_INVALID_VGROUP_ID
;
char
*
pCont
=
pMsg
->
pCont
;
char
*
pCont
=
pMsg
->
pCont
;
while
(
leftLen
>
0
)
{
while
(
leftLen
>
0
)
{
...
@@ -64,7 +65,7 @@ void dnodeDispatchToVReadQueue(SRpcMsg *pMsg) {
...
@@ -64,7 +65,7 @@ void dnodeDispatchToVReadQueue(SRpcMsg *pMsg) {
assert
(
pHead
->
contLen
>
0
);
assert
(
pHead
->
contLen
>
0
);
void
*
pVnode
=
vnodeAcquire
(
pHead
->
vgId
);
void
*
pVnode
=
vnodeAcquire
(
pHead
->
vgId
);
if
(
pVnode
!=
NULL
)
{
if
(
pVnode
!=
NULL
)
{
int32_t
code
=
vnodeWriteToRQueue
(
pVnode
,
pCont
,
pHead
->
contLen
,
TAOS_QTYPE_RPC
,
pMsg
);
code
=
vnodeWriteToRQueue
(
pVnode
,
pCont
,
pHead
->
contLen
,
TAOS_QTYPE_RPC
,
pMsg
);
if
(
code
==
TSDB_CODE_SUCCESS
)
queuedMsgNum
++
;
if
(
code
==
TSDB_CODE_SUCCESS
)
queuedMsgNum
++
;
vnodeRelease
(
pVnode
);
vnodeRelease
(
pVnode
);
}
}
...
@@ -74,7 +75,7 @@ void dnodeDispatchToVReadQueue(SRpcMsg *pMsg) {
...
@@ -74,7 +75,7 @@ void dnodeDispatchToVReadQueue(SRpcMsg *pMsg) {
}
}
if
(
queuedMsgNum
==
0
)
{
if
(
queuedMsgNum
==
0
)
{
SRpcMsg
rpcRsp
=
{.
handle
=
pMsg
->
handle
,
.
code
=
TSDB_CODE_VND_INVALID_VGROUP_ID
};
SRpcMsg
rpcRsp
=
{.
handle
=
pMsg
->
handle
,
.
code
=
code
};
rpcSendResponse
(
&
rpcRsp
);
rpcSendResponse
(
&
rpcRsp
);
}
}
...
...
src/dnode/src/dnodeVWrite.c
浏览文件 @
9f4a8ba7
...
@@ -188,6 +188,7 @@ static void *dnodeProcessVWriteQueue(void *wparam) {
...
@@ -188,6 +188,7 @@ static void *dnodeProcessVWriteQueue(void *wparam) {
int32_t
numOfMsgs
;
int32_t
numOfMsgs
;
int32_t
qtype
;
int32_t
qtype
;
taosBlockSIGPIPE
();
dDebug
(
"dnode vwrite worker:%d is running"
,
pWorker
->
workerId
);
dDebug
(
"dnode vwrite worker:%d is running"
,
pWorker
->
workerId
);
while
(
1
)
{
while
(
1
)
{
...
...
src/mnode/src/mnodeMnode.c
浏览文件 @
9f4a8ba7
...
@@ -377,6 +377,24 @@ static int32_t mnodeCreateMnodeCb(SMnodeMsg *pMsg, int32_t code) {
...
@@ -377,6 +377,24 @@ static int32_t mnodeCreateMnodeCb(SMnodeMsg *pMsg, int32_t code) {
return
code
;
return
code
;
}
}
static
bool
mnodeAllOnline
()
{
void
*
pIter
=
NULL
;
bool
allOnline
=
true
;
while
(
1
)
{
SMnodeObj
*
pMnode
=
NULL
;
pIter
=
mnodeGetNextMnode
(
pIter
,
&
pMnode
);
if
(
pMnode
==
NULL
)
break
;
if
(
pMnode
->
role
!=
TAOS_SYNC_ROLE_MASTER
&&
pMnode
->
role
!=
TAOS_SYNC_ROLE_SLAVE
)
{
allOnline
=
false
;
mnodeDecMnodeRef
(
pMnode
);
}
}
mnodeCancelGetNextMnode
(
pIter
);
return
allOnline
;
}
void
mnodeCreateMnode
(
int32_t
dnodeId
,
char
*
dnodeEp
,
bool
needConfirm
)
{
void
mnodeCreateMnode
(
int32_t
dnodeId
,
char
*
dnodeEp
,
bool
needConfirm
)
{
SMnodeObj
*
pMnode
=
calloc
(
1
,
sizeof
(
SMnodeObj
));
SMnodeObj
*
pMnode
=
calloc
(
1
,
sizeof
(
SMnodeObj
));
pMnode
->
mnodeId
=
dnodeId
;
pMnode
->
mnodeId
=
dnodeId
;
...
@@ -389,6 +407,11 @@ void mnodeCreateMnode(int32_t dnodeId, char *dnodeEp, bool needConfirm) {
...
@@ -389,6 +407,11 @@ void mnodeCreateMnode(int32_t dnodeId, char *dnodeEp, bool needConfirm) {
.
fpRsp
=
mnodeCreateMnodeCb
.
fpRsp
=
mnodeCreateMnodeCb
};
};
if
(
needConfirm
&&
!
mnodeAllOnline
())
{
mDebug
(
"wait all mnode online then create new mnode"
);
return
;
}
int32_t
code
=
TSDB_CODE_SUCCESS
;
int32_t
code
=
TSDB_CODE_SUCCESS
;
if
(
needConfirm
)
{
if
(
needConfirm
)
{
code
=
mnodeSendCreateMnodeMsg
(
dnodeId
,
dnodeEp
);
code
=
mnodeSendCreateMnodeMsg
(
dnodeId
,
dnodeEp
);
...
...
src/mnode/src/mnodeSdb.c
浏览文件 @
9f4a8ba7
...
@@ -1081,6 +1081,8 @@ static void *sdbWorkerFp(void *pWorker) {
...
@@ -1081,6 +1081,8 @@ static void *sdbWorkerFp(void *pWorker) {
int32_t
qtype
;
int32_t
qtype
;
void
*
unUsed
;
void
*
unUsed
;
taosBlockSIGPIPE
();
while
(
1
)
{
while
(
1
)
{
int32_t
numOfMsgs
=
taosReadAllQitemsFromQset
(
tsSdbWQset
,
tsSdbWQall
,
&
unUsed
);
int32_t
numOfMsgs
=
taosReadAllQitemsFromQset
(
tsSdbWQset
,
tsSdbWQall
,
&
unUsed
);
if
(
numOfMsgs
==
0
)
{
if
(
numOfMsgs
==
0
)
{
...
...
src/mnode/src/mnodeVgroup.c
浏览文件 @
9f4a8ba7
...
@@ -659,7 +659,7 @@ static int32_t mnodeGetVgroupMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *p
...
@@ -659,7 +659,7 @@ static int32_t mnodeGetVgroupMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *p
pShow
->
bytes
[
cols
]
=
4
;
pShow
->
bytes
[
cols
]
=
4
;
pSchema
[
cols
].
type
=
TSDB_DATA_TYPE_INT
;
pSchema
[
cols
].
type
=
TSDB_DATA_TYPE_INT
;
strcpy
(
pSchema
[
cols
].
name
,
"online
Vnode
s"
);
strcpy
(
pSchema
[
cols
].
name
,
"onlines"
);
pSchema
[
cols
].
bytes
=
htons
(
pShow
->
bytes
[
cols
]);
pSchema
[
cols
].
bytes
=
htons
(
pShow
->
bytes
[
cols
]);
cols
++
;
cols
++
;
...
@@ -674,13 +674,13 @@ static int32_t mnodeGetVgroupMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *p
...
@@ -674,13 +674,13 @@ static int32_t mnodeGetVgroupMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *p
for
(
int32_t
i
=
0
;
i
<
pShow
->
maxReplica
;
++
i
)
{
for
(
int32_t
i
=
0
;
i
<
pShow
->
maxReplica
;
++
i
)
{
pShow
->
bytes
[
cols
]
=
2
;
pShow
->
bytes
[
cols
]
=
2
;
pSchema
[
cols
].
type
=
TSDB_DATA_TYPE_SMALLINT
;
pSchema
[
cols
].
type
=
TSDB_DATA_TYPE_SMALLINT
;
snprintf
(
pSchema
[
cols
].
name
,
TSDB_COL_NAME_LEN
,
"v%d
D
node"
,
i
+
1
);
snprintf
(
pSchema
[
cols
].
name
,
TSDB_COL_NAME_LEN
,
"v%d
_d
node"
,
i
+
1
);
pSchema
[
cols
].
bytes
=
htons
(
pShow
->
bytes
[
cols
]);
pSchema
[
cols
].
bytes
=
htons
(
pShow
->
bytes
[
cols
]);
cols
++
;
cols
++
;
pShow
->
bytes
[
cols
]
=
9
+
VARSTR_HEADER_SIZE
;
pShow
->
bytes
[
cols
]
=
9
+
VARSTR_HEADER_SIZE
;
pSchema
[
cols
].
type
=
TSDB_DATA_TYPE_BINARY
;
pSchema
[
cols
].
type
=
TSDB_DATA_TYPE_BINARY
;
snprintf
(
pSchema
[
cols
].
name
,
TSDB_COL_NAME_LEN
,
"v%d
S
tatus"
,
i
+
1
);
snprintf
(
pSchema
[
cols
].
name
,
TSDB_COL_NAME_LEN
,
"v%d
_s
tatus"
,
i
+
1
);
pSchema
[
cols
].
bytes
=
htons
(
pShow
->
bytes
[
cols
]);
pSchema
[
cols
].
bytes
=
htons
(
pShow
->
bytes
[
cols
]);
cols
++
;
cols
++
;
}
}
...
...
src/os/inc/osSocket.h
浏览文件 @
9f4a8ba7
...
@@ -59,6 +59,7 @@ extern "C" {
...
@@ -59,6 +59,7 @@ extern "C" {
// TAOS_OS_FUNC_SOCKET
// TAOS_OS_FUNC_SOCKET
int32_t
taosSetNonblocking
(
SOCKET
sock
,
int32_t
on
);
int32_t
taosSetNonblocking
(
SOCKET
sock
,
int32_t
on
);
void
taosIgnSIGPIPE
();
void
taosBlockSIGPIPE
();
void
taosBlockSIGPIPE
();
// TAOS_OS_FUNC_SOCKET_SETSOCKETOPT
// TAOS_OS_FUNC_SOCKET_SETSOCKETOPT
...
...
src/os/src/detail/osSocket.c
浏览文件 @
9f4a8ba7
...
@@ -39,6 +39,10 @@ int32_t taosSetNonblocking(SOCKET sock, int32_t on) {
...
@@ -39,6 +39,10 @@ int32_t taosSetNonblocking(SOCKET sock, int32_t on) {
return
0
;
return
0
;
}
}
void
taosIgnSIGPIPE
()
{
signal
(
SIGPIPE
,
SIG_IGN
);
}
void
taosBlockSIGPIPE
()
{
void
taosBlockSIGPIPE
()
{
sigset_t
signal_mask
;
sigset_t
signal_mask
;
sigemptyset
(
&
signal_mask
);
sigemptyset
(
&
signal_mask
);
...
...
src/os/src/windows/wSocket.c
浏览文件 @
9f4a8ba7
...
@@ -46,6 +46,7 @@ int32_t taosSetNonblocking(SOCKET sock, int32_t on) {
...
@@ -46,6 +46,7 @@ int32_t taosSetNonblocking(SOCKET sock, int32_t on) {
return
0
;
return
0
;
}
}
void
taosIgnSIGPIPE
()
{}
void
taosBlockSIGPIPE
()
{}
void
taosBlockSIGPIPE
()
{}
int32_t
taosSetSockOpt
(
SOCKET
socketfd
,
int32_t
level
,
int32_t
optname
,
void
*
optval
,
int32_t
optlen
)
{
int32_t
taosSetSockOpt
(
SOCKET
socketfd
,
int32_t
level
,
int32_t
optname
,
void
*
optval
,
int32_t
optlen
)
{
...
...
src/sync/inc/syncInt.h
浏览文件 @
9f4a8ba7
...
@@ -38,7 +38,7 @@ extern "C" {
...
@@ -38,7 +38,7 @@ extern "C" {
#define SYNC_MAX_FWDS 512
#define SYNC_MAX_FWDS 512
#define SYNC_FWD_TIMER 300
#define SYNC_FWD_TIMER 300
#define SYNC_ROLE_TIMER 15000 // ms
#define SYNC_ROLE_TIMER 15000 // ms
#define SYNC_CHECK_INTERVAL 1
// ms
#define SYNC_CHECK_INTERVAL 1
000
// ms
#define SYNC_WAIT_AFTER_CHOOSE_MASTER 10 // ms
#define SYNC_WAIT_AFTER_CHOOSE_MASTER 10 // ms
#define nodeRole pNode->peerInfo[pNode->selfIndex]->role
#define nodeRole pNode->peerInfo[pNode->selfIndex]->role
...
@@ -86,9 +86,10 @@ typedef struct SsyncPeer {
...
@@ -86,9 +86,10 @@ typedef struct SsyncPeer {
int32_t
peerFd
;
// forward FD
int32_t
peerFd
;
// forward FD
int32_t
numOfRetrieves
;
// number of retrieves tried
int32_t
numOfRetrieves
;
// number of retrieves tried
int32_t
fileChanged
;
// a flag to indicate file is changed during retrieving process
int32_t
fileChanged
;
// a flag to indicate file is changed during retrieving process
int32_t
refCount
;
int64_t
rid
;
void
*
timer
;
void
*
timer
;
void
*
pConn
;
void
*
pConn
;
int32_t
refCount
;
// reference count
struct
SSyncNode
*
pSyncNode
;
struct
SSyncNode
*
pSyncNode
;
}
SSyncPeer
;
}
SSyncPeer
;
...
@@ -98,6 +99,7 @@ typedef struct SSyncNode {
...
@@ -98,6 +99,7 @@ typedef struct SSyncNode {
int8_t
quorum
;
int8_t
quorum
;
int8_t
selfIndex
;
int8_t
selfIndex
;
uint32_t
vgId
;
uint32_t
vgId
;
int32_t
refCount
;
int64_t
rid
;
int64_t
rid
;
SSyncPeer
*
peerInfo
[
TAOS_SYNC_MAX_REPLICA
+
1
];
// extra one for arbitrator
SSyncPeer
*
peerInfo
[
TAOS_SYNC_MAX_REPLICA
+
1
];
// extra one for arbitrator
SSyncPeer
*
pMaster
;
SSyncPeer
*
pMaster
;
...
@@ -121,13 +123,13 @@ extern int32_t tsSyncNum;
...
@@ -121,13 +123,13 @@ extern int32_t tsSyncNum;
extern
char
tsNodeFqdn
[
TSDB_FQDN_LEN
];
extern
char
tsNodeFqdn
[
TSDB_FQDN_LEN
];
extern
char
*
syncStatus
[];
extern
char
*
syncStatus
[];
void
*
syncRetrieveData
(
void
*
param
);
void
*
syncRetrieveData
(
void
*
param
);
void
*
syncRestoreData
(
void
*
param
);
void
*
syncRestoreData
(
void
*
param
);
int32_t
syncSaveIntoBuffer
(
SSyncPeer
*
pPeer
,
SWalHead
*
pHead
);
int32_t
syncSaveIntoBuffer
(
SSyncPeer
*
pPeer
,
SWalHead
*
pHead
);
void
syncRestartConnection
(
SSyncPeer
*
pPeer
);
void
syncRestartConnection
(
SSyncPeer
*
pPeer
);
void
syncBroadcastStatus
(
SSyncNode
*
pNode
);
void
syncBroadcastStatus
(
SSyncNode
*
pNode
);
void
syncAddPeerRef
(
SSyncPeer
*
pPeer
);
SSyncPeer
*
syncAcquirePeer
(
int64_t
rid
);
int32_t
syncDecPeerRef
(
SSyncPeer
*
pPeer
);
void
syncReleasePeer
(
SSyncPeer
*
pPeer
);
#ifdef __cplusplus
#ifdef __cplusplus
}
}
...
...
src/sync/inc/syncTcp.h
浏览文件 @
9f4a8ba7
...
@@ -25,14 +25,14 @@ typedef struct {
...
@@ -25,14 +25,14 @@ typedef struct {
uint32_t
serverIp
;
uint32_t
serverIp
;
int16_t
port
;
int16_t
port
;
int32_t
bufferSize
;
int32_t
bufferSize
;
void
(
*
processBrokenLink
)(
void
*
ahandle
);
void
(
*
processBrokenLink
)(
int64_t
handleId
);
int32_t
(
*
processIncomingMsg
)(
void
*
ahandle
,
void
*
buffer
);
int32_t
(
*
processIncomingMsg
)(
int64_t
handleId
,
void
*
buffer
);
void
(
*
processIncomingConn
)(
int32_t
fd
,
uint32_t
ip
);
void
(
*
processIncomingConn
)(
int32_t
fd
,
uint32_t
ip
);
}
SPoolInfo
;
}
SPoolInfo
;
void
*
syncOpenTcpThreadPool
(
SPoolInfo
*
pInfo
);
void
*
syncOpenTcpThreadPool
(
SPoolInfo
*
pInfo
);
void
syncCloseTcpThreadPool
(
void
*
);
void
syncCloseTcpThreadPool
(
void
*
);
void
*
syncAllocateTcpConn
(
void
*
,
void
*
ahandle
,
int32_t
connFd
);
void
*
syncAllocateTcpConn
(
void
*
,
int64_t
rid
,
int32_t
connFd
);
void
syncFreeTcpConn
(
void
*
);
void
syncFreeTcpConn
(
void
*
);
#ifdef __cplusplus
#ifdef __cplusplus
...
...
src/sync/src/syncArbitrator.c
浏览文件 @
9f4a8ba7
...
@@ -29,8 +29,8 @@
...
@@ -29,8 +29,8 @@
static
void
arbSignalHandler
(
int32_t
signum
,
siginfo_t
*
sigInfo
,
void
*
context
);
static
void
arbSignalHandler
(
int32_t
signum
,
siginfo_t
*
sigInfo
,
void
*
context
);
static
void
arbProcessIncommingConnection
(
int32_t
connFd
,
uint32_t
sourceIp
);
static
void
arbProcessIncommingConnection
(
int32_t
connFd
,
uint32_t
sourceIp
);
static
void
arbProcessBrokenLink
(
void
*
param
);
static
void
arbProcessBrokenLink
(
int64_t
rid
);
static
int32_t
arbProcessPeerMsg
(
void
*
param
,
void
*
buffer
);
static
int32_t
arbProcessPeerMsg
(
int64_t
rid
,
void
*
buffer
);
static
tsem_t
tsArbSem
;
static
tsem_t
tsArbSem
;
static
void
*
tsArbTcpPool
;
static
void
*
tsArbTcpPool
;
...
@@ -138,20 +138,20 @@ static void arbProcessIncommingConnection(int32_t connFd, uint32_t sourceIp) {
...
@@ -138,20 +138,20 @@ static void arbProcessIncommingConnection(int32_t connFd, uint32_t sourceIp) {
sDebug
(
"%s, arbitrator request is accepted"
,
pNode
->
id
);
sDebug
(
"%s, arbitrator request is accepted"
,
pNode
->
id
);
pNode
->
nodeFd
=
connFd
;
pNode
->
nodeFd
=
connFd
;
pNode
->
pConn
=
syncAllocateTcpConn
(
tsArbTcpPool
,
pNode
,
connFd
);
pNode
->
pConn
=
syncAllocateTcpConn
(
tsArbTcpPool
,
(
int64_t
)
pNode
,
connFd
);
return
;
return
;
}
}
static
void
arbProcessBrokenLink
(
void
*
param
)
{
static
void
arbProcessBrokenLink
(
int64_t
rid
)
{
SNodeConn
*
pNode
=
param
;
SNodeConn
*
pNode
=
(
SNodeConn
*
)
rid
;
sDebug
(
"%s, TCP link is broken since %s, close connection"
,
pNode
->
id
,
strerror
(
errno
));
sDebug
(
"%s, TCP link is broken since %s, close connection"
,
pNode
->
id
,
strerror
(
errno
));
tfree
(
pNode
);
tfree
(
pNode
);
}
}
static
int32_t
arbProcessPeerMsg
(
void
*
param
,
void
*
buffer
)
{
static
int32_t
arbProcessPeerMsg
(
int64_t
rid
,
void
*
buffer
)
{
SNodeConn
*
pNode
=
param
;
SNodeConn
*
pNode
=
(
SNodeConn
*
)
rid
;
SSyncHead
head
;
SSyncHead
head
;
int32_t
bytes
=
0
;
int32_t
bytes
=
0
;
char
*
cont
=
(
char
*
)
buffer
;
char
*
cont
=
(
char
*
)
buffer
;
...
...
src/sync/src/syncMain.c
浏览文件 @
9f4a8ba7
...
@@ -35,19 +35,21 @@ char tsNodeFqdn[TSDB_FQDN_LEN] = {0};
...
@@ -35,19 +35,21 @@ char tsNodeFqdn[TSDB_FQDN_LEN] = {0};
static
void
*
tsTcpPool
=
NULL
;
static
void
*
tsTcpPool
=
NULL
;
static
void
*
tsSyncTmrCtrl
=
NULL
;
static
void
*
tsSyncTmrCtrl
=
NULL
;
static
void
*
tsVgIdHash
=
NULL
;
static
void
*
tsVgIdHash
=
NULL
;
static
int32_t
tsSyncRefId
=
-
1
;
static
int32_t
tsNodeRefId
=
-
1
;
static
int32_t
tsPeerRefId
=
-
1
;
// local functions
// local functions
static
void
syncProcessSyncRequest
(
char
*
pMsg
,
SSyncPeer
*
pPeer
);
static
void
syncProcessSyncRequest
(
char
*
pMsg
,
SSyncPeer
*
pPeer
);
static
void
syncRecoverFromMaster
(
SSyncPeer
*
pPeer
);
static
void
syncRecoverFromMaster
(
SSyncPeer
*
pPeer
);
static
void
syncCheckPeerConnection
(
void
*
param
,
void
*
tmrId
);
static
void
syncCheckPeerConnection
(
void
*
param
,
void
*
tmrId
);
static
void
syncSendPeersStatusMsgToPeer
(
SSyncPeer
*
pPeer
,
char
ack
,
int8_t
type
,
uint16_t
tranId
);
static
int32_t
syncSendPeersStatusMsgToPeer
(
SSyncPeer
*
pPeer
,
char
ack
,
int8_t
type
,
uint16_t
tranId
);
static
void
syncProcessBrokenLink
(
void
*
param
);
static
void
syncProcessBrokenLink
(
int64_t
rid
);
static
int32_t
syncProcessPeerMsg
(
void
*
param
,
void
*
buffer
);
static
int32_t
syncProcessPeerMsg
(
int64_t
rid
,
void
*
buffer
);
static
void
syncProcessIncommingConnection
(
int32_t
connFd
,
uint32_t
sourceIp
);
static
void
syncProcessIncommingConnection
(
int32_t
connFd
,
uint32_t
sourceIp
);
static
void
syncRemovePeer
(
SSyncPeer
*
pPeer
);
static
void
syncRemovePeer
(
SSyncPeer
*
pPeer
);
static
void
syncAddArbitrator
(
SSyncNode
*
pNode
);
static
void
syncAddArbitrator
(
SSyncNode
*
pNode
);
static
void
syncFreeNode
(
void
*
);
static
void
syncFreeNode
(
void
*
);
static
void
syncFreePeer
(
void
*
);
static
void
syncRemoveConfirmedFwdInfo
(
SSyncNode
*
pNode
);
static
void
syncRemoveConfirmedFwdInfo
(
SSyncNode
*
pNode
);
static
void
syncMonitorFwdInfos
(
void
*
param
,
void
*
tmrId
);
static
void
syncMonitorFwdInfos
(
void
*
param
,
void
*
tmrId
);
static
void
syncMonitorNodeRole
(
void
*
param
,
void
*
tmrId
);
static
void
syncMonitorNodeRole
(
void
*
param
,
void
*
tmrId
);
...
@@ -55,7 +57,12 @@ static void syncProcessFwdAck(SSyncNode *pNode, SFwdInfo *pFwdInfo, int32_t c
...
@@ -55,7 +57,12 @@ static void syncProcessFwdAck(SSyncNode *pNode, SFwdInfo *pFwdInfo, int32_t c
static
int32_t
syncSaveFwdInfo
(
SSyncNode
*
pNode
,
uint64_t
version
,
void
*
mhandle
);
static
int32_t
syncSaveFwdInfo
(
SSyncNode
*
pNode
,
uint64_t
version
,
void
*
mhandle
);
static
void
syncRestartPeer
(
SSyncPeer
*
pPeer
);
static
void
syncRestartPeer
(
SSyncPeer
*
pPeer
);
static
int32_t
syncForwardToPeerImpl
(
SSyncNode
*
pNode
,
void
*
data
,
void
*
mhandle
,
int32_t
qtyp
);
static
int32_t
syncForwardToPeerImpl
(
SSyncNode
*
pNode
,
void
*
data
,
void
*
mhandle
,
int32_t
qtyp
);
static
SSyncPeer
*
syncAddPeer
(
SSyncNode
*
pNode
,
const
SNodeInfo
*
pInfo
);
static
SSyncPeer
*
syncAddPeer
(
SSyncNode
*
pNode
,
const
SNodeInfo
*
pInfo
);
static
void
syncStartCheckPeerConn
(
SSyncPeer
*
pPeer
);
static
void
syncStopCheckPeerConn
(
SSyncPeer
*
pPeer
);
static
SSyncNode
*
syncAcquireNode
(
int64_t
rid
);
static
void
syncReleaseNode
(
SSyncNode
*
pNode
);
char
*
syncRole
[]
=
{
char
*
syncRole
[]
=
{
"offline"
,
"offline"
,
...
@@ -87,29 +94,34 @@ int32_t syncInit() {
...
@@ -87,29 +94,34 @@ int32_t syncInit() {
tsTcpPool
=
syncOpenTcpThreadPool
(
&
info
);
tsTcpPool
=
syncOpenTcpThreadPool
(
&
info
);
if
(
tsTcpPool
==
NULL
)
{
if
(
tsTcpPool
==
NULL
)
{
sError
(
"failed to init tcpPool"
);
sError
(
"failed to init tcpPool"
);
syncCleanUp
();
return
-
1
;
return
-
1
;
}
}
tsSyncTmrCtrl
=
taosTmrInit
(
1000
,
50
,
10000
,
"SYNC"
);
tsSyncTmrCtrl
=
taosTmrInit
(
1000
,
50
,
10000
,
"SYNC"
);
if
(
tsSyncTmrCtrl
==
NULL
)
{
if
(
tsSyncTmrCtrl
==
NULL
)
{
sError
(
"failed to init tmrCtrl"
);
sError
(
"failed to init tmrCtrl"
);
syncCloseTcpThreadPool
(
tsTcpPool
);
syncCleanUp
();
tsTcpPool
=
NULL
;
return
-
1
;
return
-
1
;
}
}
tsVgIdHash
=
taosHashInit
(
TSDB_MIN_VNODES
,
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_INT
),
true
,
HASH_ENTRY_LOCK
);
tsVgIdHash
=
taosHashInit
(
TSDB_MIN_VNODES
,
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_INT
),
true
,
HASH_ENTRY_LOCK
);
if
(
tsVgIdHash
==
NULL
)
{
if
(
tsVgIdHash
==
NULL
)
{
sError
(
"failed to init vgIdHash"
);
sError
(
"failed to init vgIdHash"
);
taosTmrCleanUp
(
tsSyncTmrCtrl
);
syncCleanUp
();
syncCloseTcpThreadPool
(
tsTcpPool
);
return
-
1
;
tsTcpPool
=
NULL
;
}
tsSyncTmrCtrl
=
NULL
;
tsNodeRefId
=
taosOpenRef
(
200
,
syncFreeNode
);
if
(
tsNodeRefId
<
0
)
{
sError
(
"failed to init node ref"
);
syncCleanUp
();
return
-
1
;
return
-
1
;
}
}
tsSyncRefId
=
taosOpenRef
(
200
,
syncFreeNode
);
tsPeerRefId
=
taosOpenRef
(
1000
,
syncFreePeer
);
if
(
tsSyncRefId
<
0
)
{
if
(
tsPeerRefId
<
0
)
{
sError
(
"failed to init peer ref"
);
syncCleanUp
();
syncCleanUp
();
return
-
1
;
return
-
1
;
}
}
...
@@ -121,12 +133,12 @@ int32_t syncInit() {
...
@@ -121,12 +133,12 @@ int32_t syncInit() {
}
}
void
syncCleanUp
()
{
void
syncCleanUp
()
{
if
(
tsTcpPool
)
{
if
(
tsTcpPool
!=
NULL
)
{
syncCloseTcpThreadPool
(
tsTcpPool
);
syncCloseTcpThreadPool
(
tsTcpPool
);
tsTcpPool
=
NULL
;
tsTcpPool
=
NULL
;
}
}
if
(
tsSyncTmrCtrl
)
{
if
(
tsSyncTmrCtrl
!=
NULL
)
{
taosTmrCleanUp
(
tsSyncTmrCtrl
);
taosTmrCleanUp
(
tsSyncTmrCtrl
);
tsSyncTmrCtrl
=
NULL
;
tsSyncTmrCtrl
=
NULL
;
}
}
...
@@ -136,8 +148,15 @@ void syncCleanUp() {
...
@@ -136,8 +148,15 @@ void syncCleanUp() {
tsVgIdHash
=
NULL
;
tsVgIdHash
=
NULL
;
}
}
taosCloseRef
(
tsSyncRefId
);
if
(
tsNodeRefId
!=
-
1
)
{
tsSyncRefId
=
-
1
;
taosCloseRef
(
tsNodeRefId
);
tsNodeRefId
=
-
1
;
}
if
(
tsPeerRefId
!=
-
1
)
{
taosCloseRef
(
tsPeerRefId
);
tsPeerRefId
=
-
1
;
}
sInfo
(
"sync module is cleaned up"
);
sInfo
(
"sync module is cleaned up"
);
}
}
...
@@ -170,7 +189,8 @@ int64_t syncStart(const SSyncInfo *pInfo) {
...
@@ -170,7 +189,8 @@ int64_t syncStart(const SSyncInfo *pInfo) {
pNode
->
quorum
=
pCfg
->
quorum
;
pNode
->
quorum
=
pCfg
->
quorum
;
if
(
pNode
->
quorum
>
pNode
->
replica
)
pNode
->
quorum
=
pNode
->
replica
;
if
(
pNode
->
quorum
>
pNode
->
replica
)
pNode
->
quorum
=
pNode
->
replica
;
pNode
->
rid
=
taosAddRef
(
tsSyncRefId
,
pNode
);
pNode
->
refCount
=
1
;
pNode
->
rid
=
taosAddRef
(
tsNodeRefId
,
pNode
);
if
(
pNode
->
rid
<
0
)
{
if
(
pNode
->
rid
<
0
)
{
syncFreeNode
(
pNode
);
syncFreeNode
(
pNode
);
return
-
1
;
return
-
1
;
...
@@ -232,13 +252,18 @@ int64_t syncStart(const SSyncInfo *pInfo) {
...
@@ -232,13 +252,18 @@ int64_t syncStart(const SSyncInfo *pInfo) {
(
*
pNode
->
notifyRole
)(
pNode
->
vgId
,
nodeRole
);
(
*
pNode
->
notifyRole
)(
pNode
->
vgId
,
nodeRole
);
}
}
syncStartCheckPeerConn
(
pNode
->
peerInfo
[
TAOS_SYNC_MAX_REPLICA
]);
// arb
for
(
int32_t
index
=
0
;
index
<
pNode
->
replica
;
++
index
)
{
syncStartCheckPeerConn
(
pNode
->
peerInfo
[
index
]);
}
return
pNode
->
rid
;
return
pNode
->
rid
;
}
}
void
syncStop
(
int64_t
rid
)
{
void
syncStop
(
int64_t
rid
)
{
SSyncPeer
*
pPeer
;
SSyncPeer
*
pPeer
;
SSyncNode
*
pNode
=
taosAcquireRef
(
tsSyncRefId
,
rid
);
SSyncNode
*
pNode
=
syncAcquireNode
(
rid
);
if
(
pNode
==
NULL
)
return
;
if
(
pNode
==
NULL
)
return
;
sInfo
(
"vgId:%d, cleanup sync"
,
pNode
->
vgId
);
sInfo
(
"vgId:%d, cleanup sync"
,
pNode
->
vgId
);
...
@@ -259,14 +284,14 @@ void syncStop(int64_t rid) {
...
@@ -259,14 +284,14 @@ void syncStop(int64_t rid) {
pthread_mutex_unlock
(
&
pNode
->
mutex
);
pthread_mutex_unlock
(
&
pNode
->
mutex
);
taosReleaseRef
(
tsSyncRefId
,
rid
);
syncReleaseNode
(
pNode
);
taosRemoveRef
(
ts
Sync
RefId
,
rid
);
taosRemoveRef
(
ts
Node
RefId
,
rid
);
}
}
int32_t
syncReconfig
(
int64_t
rid
,
const
SSyncCfg
*
pNewCfg
)
{
int32_t
syncReconfig
(
int64_t
rid
,
const
SSyncCfg
*
pNewCfg
)
{
int32_t
i
,
j
;
int32_t
i
,
j
;
SSyncNode
*
pNode
=
taosAcquireRef
(
tsSyncRefId
,
rid
);
SSyncNode
*
pNode
=
syncAcquireNode
(
rid
);
if
(
pNode
==
NULL
)
return
TSDB_CODE_SYN_INVALID_CONFIG
;
if
(
pNode
==
NULL
)
return
TSDB_CODE_SYN_INVALID_CONFIG
;
sInfo
(
"vgId:%d, reconfig, role:%s replica:%d old:%d"
,
pNode
->
vgId
,
syncRole
[
nodeRole
],
pNewCfg
->
replica
,
sInfo
(
"vgId:%d, reconfig, role:%s replica:%d old:%d"
,
pNode
->
vgId
,
syncRole
[
nodeRole
],
pNewCfg
->
replica
,
...
@@ -274,6 +299,11 @@ int32_t syncReconfig(int64_t rid, const SSyncCfg *pNewCfg) {
...
@@ -274,6 +299,11 @@ int32_t syncReconfig(int64_t rid, const SSyncCfg *pNewCfg) {
pthread_mutex_lock
(
&
pNode
->
mutex
);
pthread_mutex_lock
(
&
pNode
->
mutex
);
syncStopCheckPeerConn
(
pNode
->
peerInfo
[
TAOS_SYNC_MAX_REPLICA
]);
// arb
for
(
int32_t
index
=
0
;
index
<
pNode
->
replica
;
++
index
)
{
syncStopCheckPeerConn
(
pNode
->
peerInfo
[
index
]);
}
for
(
i
=
0
;
i
<
pNode
->
replica
;
++
i
)
{
for
(
i
=
0
;
i
<
pNode
->
replica
;
++
i
)
{
for
(
j
=
0
;
j
<
pNewCfg
->
replica
;
++
j
)
{
for
(
j
=
0
;
j
<
pNewCfg
->
replica
;
++
j
)
{
if
((
strcmp
(
pNode
->
peerInfo
[
i
]
->
fqdn
,
pNewCfg
->
nodeInfo
[
j
].
nodeFqdn
)
==
0
)
&&
if
((
strcmp
(
pNode
->
peerInfo
[
i
]
->
fqdn
,
pNewCfg
->
nodeInfo
[
j
].
nodeFqdn
)
==
0
)
&&
...
@@ -330,28 +360,32 @@ int32_t syncReconfig(int64_t rid, const SSyncCfg *pNewCfg) {
...
@@ -330,28 +360,32 @@ int32_t syncReconfig(int64_t rid, const SSyncCfg *pNewCfg) {
(
*
pNode
->
notifyRole
)(
pNode
->
vgId
,
nodeRole
);
(
*
pNode
->
notifyRole
)(
pNode
->
vgId
,
nodeRole
);
}
}
syncStartCheckPeerConn
(
pNode
->
peerInfo
[
TAOS_SYNC_MAX_REPLICA
]);
// arb
for
(
int32_t
index
=
0
;
index
<
pNode
->
replica
;
++
index
)
{
syncStartCheckPeerConn
(
pNode
->
peerInfo
[
index
]);
}
pthread_mutex_unlock
(
&
pNode
->
mutex
);
pthread_mutex_unlock
(
&
pNode
->
mutex
);
sInfo
(
"vgId:%d, %d replicas are configured, quorum:%d"
,
pNode
->
vgId
,
pNode
->
replica
,
pNode
->
quorum
);
sInfo
(
"vgId:%d, %d replicas are configured, quorum:%d"
,
pNode
->
vgId
,
pNode
->
replica
,
pNode
->
quorum
);
syncBroadcastStatus
(
pNode
);
syncBroadcastStatus
(
pNode
);
taosReleaseRef
(
tsSyncRefId
,
rid
);
syncReleaseNode
(
pNode
);
return
0
;
return
0
;
}
}
int32_t
syncForwardToPeer
(
int64_t
rid
,
void
*
data
,
void
*
mhandle
,
int32_t
qtype
)
{
int32_t
syncForwardToPeer
(
int64_t
rid
,
void
*
data
,
void
*
mhandle
,
int32_t
qtype
)
{
SSyncNode
*
pNode
=
taosAcquireRef
(
tsSyncRefId
,
rid
);
SSyncNode
*
pNode
=
syncAcquireNode
(
rid
);
if
(
pNode
==
NULL
)
return
0
;
if
(
pNode
==
NULL
)
return
0
;
int32_t
code
=
syncForwardToPeerImpl
(
pNode
,
data
,
mhandle
,
qtype
);
int32_t
code
=
syncForwardToPeerImpl
(
pNode
,
data
,
mhandle
,
qtype
);
taosReleaseRef
(
tsSyncRefId
,
rid
);
syncReleaseNode
(
pNode
);
return
code
;
return
code
;
}
}
void
syncConfirmForward
(
int64_t
rid
,
uint64_t
version
,
int32_t
code
)
{
void
syncConfirmForward
(
int64_t
rid
,
uint64_t
version
,
int32_t
code
)
{
SSyncNode
*
pNode
=
taosAcquireRef
(
tsSyncRefId
,
rid
);
SSyncNode
*
pNode
=
syncAcquireNode
(
rid
);
if
(
pNode
==
NULL
)
return
;
if
(
pNode
==
NULL
)
return
;
SSyncPeer
*
pPeer
=
pNode
->
pMaster
;
SSyncPeer
*
pPeer
=
pNode
->
pMaster
;
...
@@ -367,14 +401,14 @@ void syncConfirmForward(int64_t rid, uint64_t version, int32_t code) {
...
@@ -367,14 +401,14 @@ void syncConfirmForward(int64_t rid, uint64_t version, int32_t code) {
}
}
}
}
taosReleaseRef
(
tsSyncRefId
,
rid
);
syncReleaseNode
(
pNode
);
}
}
#if 0
#if 0
void syncRecover(int64_t rid) {
void syncRecover(int64_t rid) {
SSyncPeer *pPeer;
SSyncPeer *pPeer;
SSyncNode *pNode =
taosAcquireRef(tsSyncRefId,
rid);
SSyncNode *pNode =
syncAcquireNode(
rid);
if (pNode == NULL) return;
if (pNode == NULL) return;
// to do: add a few lines to check if recover is OK
// to do: add a few lines to check if recover is OK
...
@@ -395,12 +429,12 @@ void syncRecover(int64_t rid) {
...
@@ -395,12 +429,12 @@ void syncRecover(int64_t rid) {
pthread_mutex_unlock(&pNode->mutex);
pthread_mutex_unlock(&pNode->mutex);
taosReleaseRef(tsSyncRefId, rid
);
syncReleaseNode(pNode
);
}
}
#endif
#endif
int32_t
syncGetNodesRole
(
int64_t
rid
,
SNodesRole
*
pNodesRole
)
{
int32_t
syncGetNodesRole
(
int64_t
rid
,
SNodesRole
*
pNodesRole
)
{
SSyncNode
*
pNode
=
taosAcquireRef
(
tsSyncRefId
,
rid
);
SSyncNode
*
pNode
=
syncAcquireNode
(
rid
);
if
(
pNode
==
NULL
)
return
-
1
;
if
(
pNode
==
NULL
)
return
-
1
;
pNodesRole
->
selfIndex
=
pNode
->
selfIndex
;
pNodesRole
->
selfIndex
=
pNode
->
selfIndex
;
...
@@ -409,8 +443,7 @@ int32_t syncGetNodesRole(int64_t rid, SNodesRole *pNodesRole) {
...
@@ -409,8 +443,7 @@ int32_t syncGetNodesRole(int64_t rid, SNodesRole *pNodesRole) {
pNodesRole
->
role
[
i
]
=
pNode
->
peerInfo
[
i
]
->
role
;
pNodesRole
->
role
[
i
]
=
pNode
->
peerInfo
[
i
]
->
role
;
}
}
taosReleaseRef
(
tsSyncRefId
,
rid
);
syncReleaseNode
(
pNode
);
return
0
;
return
0
;
}
}
...
@@ -446,24 +479,61 @@ static void syncAddArbitrator(SSyncNode *pNode) {
...
@@ -446,24 +479,61 @@ static void syncAddArbitrator(SSyncNode *pNode) {
static
void
syncFreeNode
(
void
*
param
)
{
static
void
syncFreeNode
(
void
*
param
)
{
SSyncNode
*
pNode
=
param
;
SSyncNode
*
pNode
=
param
;
int32_t
refCount
=
atomic_sub_fetch_32
(
&
pNode
->
refCount
,
1
);
sDebug
(
"vgId:%d, syncnode is freed, refCount:%d"
,
pNode
->
vgId
,
refCount
);
pthread_mutex_destroy
(
&
pNode
->
mutex
);
pthread_mutex_destroy
(
&
pNode
->
mutex
);
tfree
(
pNode
->
pRecv
);
tfree
(
pNode
->
pRecv
);
tfree
(
pNode
->
pSyncFwds
);
tfree
(
pNode
->
pSyncFwds
);
tfree
(
pNode
);
tfree
(
pNode
);
}
}
void
syncAddPeerRef
(
SSyncPeer
*
pPeer
)
{
atomic_add_fetch_32
(
&
pPeer
->
refCount
,
1
);
}
SSyncNode
*
syncAcquireNode
(
int64_t
rid
)
{
SSyncNode
*
pNode
=
taosAcquireRef
(
tsNodeRefId
,
rid
);
if
(
pNode
==
NULL
)
{
sDebug
(
"failed to acquire syncnode from refId:%"
PRId64
,
rid
);
}
else
{
int32_t
refCount
=
atomic_add_fetch_32
(
&
pNode
->
refCount
,
1
);
sTrace
(
"vgId:%d, acquire syncnode refId:%"
PRId64
", refCount:%d"
,
pNode
->
vgId
,
rid
,
refCount
);
}
int32_t
syncDecPeerRef
(
SSyncPeer
*
pPeer
)
{
return
pNode
;
if
(
atomic_sub_fetch_32
(
&
pPeer
->
refCount
,
1
)
==
0
)
{
}
taosReleaseRef
(
tsSyncRefId
,
pPeer
->
pSyncNode
->
rid
);
sDebug
(
"%s, resource is freed"
,
pPeer
->
id
);
void
syncReleaseNode
(
SSyncNode
*
pNode
)
{
tfree
(
pPeer
);
int32_t
refCount
=
atomic_sub_fetch_32
(
&
pNode
->
refCount
,
1
);
return
0
;
sTrace
(
"vgId:%d, dec syncnode refId:%"
PRId64
" refCount:%d"
,
pNode
->
vgId
,
pNode
->
rid
,
refCount
);
taosReleaseRef
(
tsNodeRefId
,
pNode
->
rid
);
}
static
void
syncFreePeer
(
void
*
param
)
{
SSyncPeer
*
pPeer
=
param
;
int32_t
refCount
=
atomic_sub_fetch_32
(
&
pPeer
->
refCount
,
1
);
sDebug
(
"%s, peer is freed, refCount:%d"
,
pPeer
->
id
,
refCount
);
syncReleaseNode
(
pPeer
->
pSyncNode
);
tfree
(
pPeer
);
}
SSyncPeer
*
syncAcquirePeer
(
int64_t
rid
)
{
SSyncPeer
*
pPeer
=
taosAcquireRef
(
tsPeerRefId
,
rid
);
if
(
pPeer
==
NULL
)
{
sDebug
(
"failed to acquire peer from refId:%"
PRId64
,
rid
);
}
else
{
int32_t
refCount
=
atomic_add_fetch_32
(
&
pPeer
->
refCount
,
1
);
sTrace
(
"%s, acquire peer refId:%"
PRId64
", refCount:%d"
,
pPeer
->
id
,
rid
,
refCount
);
}
}
return
1
;
return
pPeer
;
}
void
syncReleasePeer
(
SSyncPeer
*
pPeer
)
{
int32_t
refCount
=
atomic_sub_fetch_32
(
&
pPeer
->
refCount
,
1
);
sTrace
(
"%s, dec peer refId:%"
PRId64
", refCount:%d"
,
pPeer
->
id
,
pPeer
->
rid
,
refCount
);
taosReleaseRef
(
tsPeerRefId
,
pPeer
->
rid
);
}
}
static
void
syncClosePeerConn
(
SSyncPeer
*
pPeer
)
{
static
void
syncClosePeerConn
(
SSyncPeer
*
pPeer
)
{
...
@@ -473,7 +543,8 @@ static void syncClosePeerConn(SSyncPeer *pPeer) {
...
@@ -473,7 +543,8 @@ static void syncClosePeerConn(SSyncPeer *pPeer) {
taosClose
(
pPeer
->
syncFd
);
taosClose
(
pPeer
->
syncFd
);
if
(
pPeer
->
peerFd
>=
0
)
{
if
(
pPeer
->
peerFd
>=
0
)
{
pPeer
->
peerFd
=
-
1
;
pPeer
->
peerFd
=
-
1
;
syncFreeTcpConn
(
pPeer
->
pConn
);
void
*
pConn
=
pPeer
->
pConn
;
if
(
pConn
!=
NULL
)
syncFreeTcpConn
(
pPeer
->
pConn
);
}
}
}
}
...
@@ -482,7 +553,28 @@ static void syncRemovePeer(SSyncPeer *pPeer) {
...
@@ -482,7 +553,28 @@ static void syncRemovePeer(SSyncPeer *pPeer) {
pPeer
->
ip
=
0
;
pPeer
->
ip
=
0
;
syncClosePeerConn
(
pPeer
);
syncClosePeerConn
(
pPeer
);
syncDecPeerRef
(
pPeer
);
//taosRemoveRef(tsPeerRefId, pPeer->rid);
syncReleasePeer
(
pPeer
);
}
static
void
syncStartCheckPeerConn
(
SSyncPeer
*
pPeer
)
{
if
(
pPeer
==
NULL
)
return
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
int32_t
ret
=
strcmp
(
pPeer
->
fqdn
,
tsNodeFqdn
);
if
(
pPeer
->
nodeId
==
0
||
(
ret
>
0
)
||
(
ret
==
0
&&
pPeer
->
port
>
tsSyncPort
))
{
int32_t
checkMs
=
100
+
(
pNode
->
vgId
*
10
)
%
100
;
if
(
pNode
->
vgId
>
1
)
checkMs
=
tsStatusInterval
*
1000
+
checkMs
;
sDebug
(
"%s, check peer connection after %d ms"
,
pPeer
->
id
,
checkMs
);
taosTmrReset
(
syncCheckPeerConnection
,
checkMs
,
(
void
*
)
pPeer
->
rid
,
tsSyncTmrCtrl
,
&
pPeer
->
timer
);
}
}
static
void
syncStopCheckPeerConn
(
SSyncPeer
*
pPeer
)
{
if
(
pPeer
==
NULL
)
return
;
taosTmrStopA
(
&
pPeer
->
timer
);
sDebug
(
"%s, stop check peer connection"
,
pPeer
->
id
);
}
}
static
SSyncPeer
*
syncAddPeer
(
SSyncNode
*
pNode
,
const
SNodeInfo
*
pInfo
)
{
static
SSyncPeer
*
syncAddPeer
(
SSyncNode
*
pNode
,
const
SNodeInfo
*
pInfo
)
{
...
@@ -508,17 +600,11 @@ static SSyncPeer *syncAddPeer(SSyncNode *pNode, const SNodeInfo *pInfo) {
...
@@ -508,17 +600,11 @@ static SSyncPeer *syncAddPeer(SSyncNode *pNode, const SNodeInfo *pInfo) {
pPeer
->
role
=
TAOS_SYNC_ROLE_OFFLINE
;
pPeer
->
role
=
TAOS_SYNC_ROLE_OFFLINE
;
pPeer
->
pSyncNode
=
pNode
;
pPeer
->
pSyncNode
=
pNode
;
pPeer
->
refCount
=
1
;
pPeer
->
refCount
=
1
;
pPeer
->
rid
=
taosAddRef
(
tsPeerRefId
,
pPeer
);
sInfo
(
"%s, it is configured, ep:%s:%u"
,
pPeer
->
id
,
pPeer
->
fqdn
,
pPeer
->
port
);
sInfo
(
"%s, %p it is configured, ep:%s:%u rid:%"
PRId64
,
pPeer
->
id
,
pPeer
,
pPeer
->
fqdn
,
pPeer
->
port
,
pPeer
->
rid
);
int32_t
ret
=
strcmp
(
pPeer
->
fqdn
,
tsNodeFqdn
);
if
(
pPeer
->
nodeId
==
0
||
(
ret
>
0
)
||
(
ret
==
0
&&
pPeer
->
port
>
tsSyncPort
))
{
int32_t
checkMs
=
100
+
(
pNode
->
vgId
*
10
)
%
100
;
if
(
pNode
->
vgId
>
1
)
checkMs
=
tsStatusInterval
*
1000
+
checkMs
;
sDebug
(
"%s, check peer connection after %d ms"
,
pPeer
->
id
,
checkMs
);
taosTmrReset
(
syncCheckPeerConnection
,
checkMs
,
pPeer
,
tsSyncTmrCtrl
,
&
pPeer
->
timer
);
}
taosAcquireRef
(
tsSyncRefId
,
pNode
->
rid
);
(
void
)
syncAcquireNode
(
pNode
->
rid
);
return
pPeer
;
return
pPeer
;
}
}
...
@@ -560,6 +646,9 @@ static void syncChooseMaster(SSyncNode *pNode) {
...
@@ -560,6 +646,9 @@ static void syncChooseMaster(SSyncNode *pNode) {
index
=
i
;
index
=
i
;
}
}
}
}
sDebug
(
"vgId:%d, master:%s may be choosed, index:%d"
,
pNode
->
vgId
,
pNode
->
peerInfo
[
index
]
->
id
,
index
);
}
else
{
sDebug
(
"vgId:%d, no master election since onlineNum:%d replica:%d"
,
pNode
->
vgId
,
onlineNum
,
pNode
->
replica
);
}
}
// add arbitrator connection
// add arbitrator connection
...
@@ -580,6 +669,11 @@ static void syncChooseMaster(SSyncNode *pNode) {
...
@@ -580,6 +669,11 @@ static void syncChooseMaster(SSyncNode *pNode) {
}
}
}
}
}
}
if
(
index
>=
0
)
{
sDebug
(
"vgId:%d, master:%s may be choosed, index:%d onlineNum(arb):%d replica:%d"
,
pNode
->
vgId
,
pNode
->
peerInfo
[
index
]
->
id
,
index
,
onlineNum
,
replica
);
}
}
}
if
(
index
>=
0
)
{
if
(
index
>=
0
)
{
...
@@ -621,9 +715,13 @@ static SSyncPeer *syncCheckMaster(SSyncNode *pNode) {
...
@@ -621,9 +715,13 @@ static SSyncPeer *syncCheckMaster(SSyncNode *pNode) {
if
(
onlineNum
<=
replica
*
0
.
5
)
{
if
(
onlineNum
<=
replica
*
0
.
5
)
{
if
(
nodeRole
!=
TAOS_SYNC_ROLE_UNSYNCED
)
{
if
(
nodeRole
!=
TAOS_SYNC_ROLE_UNSYNCED
)
{
nodeRole
=
TAOS_SYNC_ROLE_UNSYNCED
;
if
(
nodeRole
==
TAOS_SYNC_ROLE_MASTER
&&
onlineNum
==
replica
*
0
.
5
&&
onlineNum
>=
1
)
{
sInfo
(
"vgId:%d, self keep work as master, online:%d replica:%d"
,
pNode
->
vgId
,
onlineNum
,
replica
);
}
else
{
nodeRole
=
TAOS_SYNC_ROLE_UNSYNCED
;
sInfo
(
"vgId:%d, self change to unsynced state, online:%d replica:%d"
,
pNode
->
vgId
,
onlineNum
,
replica
);
}
(
*
pNode
->
notifyRole
)(
pNode
->
vgId
,
nodeRole
);
(
*
pNode
->
notifyRole
)(
pNode
->
vgId
,
nodeRole
);
sInfo
(
"vgId:%d, self change to unsynced state, online:%d replica:%d"
,
pNode
->
vgId
,
onlineNum
,
replica
);
}
}
}
else
{
}
else
{
for
(
int32_t
index
=
0
;
index
<
pNode
->
replica
;
++
index
)
{
for
(
int32_t
index
=
0
;
index
<
pNode
->
replica
;
++
index
)
{
...
@@ -678,7 +776,7 @@ static void syncCheckRole(SSyncPeer *pPeer, SPeerStatus* peersStatus, int8_t new
...
@@ -678,7 +776,7 @@ static void syncCheckRole(SSyncPeer *pPeer, SPeerStatus* peersStatus, int8_t new
if
(
pMaster
)
{
if
(
pMaster
)
{
// master is there
// master is there
pNode
->
pMaster
=
pMaster
;
pNode
->
pMaster
=
pMaster
;
sDebug
(
"%s, it is the master,
sver:%"
PRIu64
,
pMaster
->
id
,
pMaster
->
version
);
sDebug
(
"%s, it is the master,
replica:%d sver:%"
PRIu64
,
pMaster
->
id
,
pNode
->
replica
,
pMaster
->
version
);
if
(
syncValidateMaster
(
pPeer
)
<
0
)
return
;
if
(
syncValidateMaster
(
pPeer
)
<
0
)
return
;
...
@@ -711,10 +809,10 @@ static void syncCheckRole(SSyncPeer *pPeer, SPeerStatus* peersStatus, int8_t new
...
@@ -711,10 +809,10 @@ static void syncCheckRole(SSyncPeer *pPeer, SPeerStatus* peersStatus, int8_t new
}
}
if
(
consistent
)
{
if
(
consistent
)
{
sDebug
(
"vgId:%d, choose master
"
,
pNode
->
vgId
);
sDebug
(
"vgId:%d, choose master
, replica:%d"
,
pNode
->
vgId
,
pNode
->
replica
);
syncChooseMaster
(
pNode
);
syncChooseMaster
(
pNode
);
}
else
{
}
else
{
sDebug
(
"vgId:%d, cannot choose master since roles inequality
"
,
pNode
->
vgId
);
sDebug
(
"vgId:%d, cannot choose master since roles inequality
, replica:%d"
,
pNode
->
vgId
,
pNode
->
replica
);
}
}
}
}
...
@@ -743,7 +841,7 @@ static void syncRestartPeer(SSyncPeer *pPeer) {
...
@@ -743,7 +841,7 @@ static void syncRestartPeer(SSyncPeer *pPeer) {
int32_t
ret
=
strcmp
(
pPeer
->
fqdn
,
tsNodeFqdn
);
int32_t
ret
=
strcmp
(
pPeer
->
fqdn
,
tsNodeFqdn
);
if
(
ret
>
0
||
(
ret
==
0
&&
pPeer
->
port
>
tsSyncPort
))
{
if
(
ret
>
0
||
(
ret
==
0
&&
pPeer
->
port
>
tsSyncPort
))
{
sDebug
(
"%s, check peer connection in 1000 ms"
,
pPeer
->
id
);
sDebug
(
"%s, check peer connection in 1000 ms"
,
pPeer
->
id
);
taosTmrReset
(
syncCheckPeerConnection
,
SYNC_CHECK_INTERVAL
,
pPeer
,
tsSyncTmrCtrl
,
&
pPeer
->
timer
);
taosTmrReset
(
syncCheckPeerConnection
,
SYNC_CHECK_INTERVAL
,
(
void
*
)
pPeer
->
rid
,
tsSyncTmrCtrl
,
&
pPeer
->
timer
);
}
}
}
}
...
@@ -772,25 +870,30 @@ static void syncProcessSyncRequest(char *msg, SSyncPeer *pPeer) {
...
@@ -772,25 +870,30 @@ static void syncProcessSyncRequest(char *msg, SSyncPeer *pPeer) {
}
}
// start a new thread to retrieve the data
// start a new thread to retrieve the data
syncAddPeerRef
(
pPeer
);
(
void
)
syncAcquirePeer
(
pPeer
->
rid
);
pthread_attr_t
thattr
;
pthread_attr_t
thattr
;
pthread_t
thread
;
pthread_t
thread
;
pthread_attr_init
(
&
thattr
);
pthread_attr_init
(
&
thattr
);
pthread_attr_setdetachstate
(
&
thattr
,
PTHREAD_CREATE_DETACHED
);
pthread_attr_setdetachstate
(
&
thattr
,
PTHREAD_CREATE_DETACHED
);
int32_t
ret
=
pthread_create
(
&
thread
,
&
thattr
,
syncRetrieveData
,
pPeer
);
int32_t
ret
=
pthread_create
(
&
thread
,
&
thattr
,
syncRetrieveData
,
(
void
*
)
pPeer
->
rid
);
pthread_attr_destroy
(
&
thattr
);
pthread_attr_destroy
(
&
thattr
);
if
(
ret
!=
0
)
{
if
(
ret
!=
0
)
{
sError
(
"%s, failed to create sync thread since %s"
,
pPeer
->
id
,
strerror
(
errno
));
sError
(
"%s, failed to create sync thread since %s"
,
pPeer
->
id
,
strerror
(
errno
));
syncDecPeerRef
(
pPeer
);
}
else
{
}
else
{
pPeer
->
sstatus
=
TAOS_SYNC_STATUS_START
;
pPeer
->
sstatus
=
TAOS_SYNC_STATUS_START
;
sDebug
(
"%s, thread is created to retrieve data, set sstatus:%s"
,
pPeer
->
id
,
syncStatus
[
pPeer
->
sstatus
]);
sDebug
(
"%s, thread is created to retrieve data, set sstatus:%s"
,
pPeer
->
id
,
syncStatus
[
pPeer
->
sstatus
]);
}
}
syncReleasePeer
(
pPeer
);
}
}
static
void
syncNotStarted
(
void
*
param
,
void
*
tmrId
)
{
static
void
syncNotStarted
(
void
*
param
,
void
*
tmrId
)
{
SSyncPeer
*
pPeer
=
param
;
int64_t
rid
=
(
int64_t
)
param
;
SSyncPeer
*
pPeer
=
syncAcquirePeer
(
rid
);
if
(
pPeer
==
NULL
)
return
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
pthread_mutex_lock
(
&
pNode
->
mutex
);
pthread_mutex_lock
(
&
pNode
->
mutex
);
...
@@ -799,15 +902,22 @@ static void syncNotStarted(void *param, void *tmrId) {
...
@@ -799,15 +902,22 @@ static void syncNotStarted(void *param, void *tmrId) {
sInfo
(
"%s, sync conn is still not up, restart and set sstatus:%s"
,
pPeer
->
id
,
syncStatus
[
pPeer
->
sstatus
]);
sInfo
(
"%s, sync conn is still not up, restart and set sstatus:%s"
,
pPeer
->
id
,
syncStatus
[
pPeer
->
sstatus
]);
syncRestartConnection
(
pPeer
);
syncRestartConnection
(
pPeer
);
pthread_mutex_unlock
(
&
pNode
->
mutex
);
pthread_mutex_unlock
(
&
pNode
->
mutex
);
syncReleasePeer
(
pPeer
);
}
}
static
void
syncTryRecoverFromMaster
(
void
*
param
,
void
*
tmrId
)
{
static
void
syncTryRecoverFromMaster
(
void
*
param
,
void
*
tmrId
)
{
SSyncPeer
*
pPeer
=
param
;
int64_t
rid
=
(
int64_t
)
param
;
SSyncPeer
*
pPeer
=
syncAcquirePeer
(
rid
);
if
(
pPeer
==
NULL
)
return
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
pthread_mutex_lock
(
&
pNode
->
mutex
);
pthread_mutex_lock
(
&
pNode
->
mutex
);
syncRecoverFromMaster
(
pPeer
);
syncRecoverFromMaster
(
pPeer
);
pthread_mutex_unlock
(
&
pNode
->
mutex
);
pthread_mutex_unlock
(
&
pNode
->
mutex
);
syncReleasePeer
(
pPeer
);
}
}
static
void
syncRecoverFromMaster
(
SSyncPeer
*
pPeer
)
{
static
void
syncRecoverFromMaster
(
SSyncPeer
*
pPeer
)
{
...
@@ -823,7 +933,7 @@ static void syncRecoverFromMaster(SSyncPeer *pPeer) {
...
@@ -823,7 +933,7 @@ static void syncRecoverFromMaster(SSyncPeer *pPeer) {
// Ensure the sync of mnode not interrupted
// Ensure the sync of mnode not interrupted
if
(
pNode
->
vgId
!=
1
&&
tsSyncNum
>=
SYNC_MAX_NUM
)
{
if
(
pNode
->
vgId
!=
1
&&
tsSyncNum
>=
SYNC_MAX_NUM
)
{
sInfo
(
"%s, %d syncs are in process, try later"
,
pPeer
->
id
,
tsSyncNum
);
sInfo
(
"%s, %d syncs are in process, try later"
,
pPeer
->
id
,
tsSyncNum
);
taosTmrReset
(
syncTryRecoverFromMaster
,
500
+
(
pNode
->
vgId
*
10
)
%
200
,
pPeer
,
tsSyncTmrCtrl
,
&
pPeer
->
timer
);
taosTmrReset
(
syncTryRecoverFromMaster
,
500
+
(
pNode
->
vgId
*
10
)
%
200
,
(
void
*
)
pPeer
->
rid
,
tsSyncTmrCtrl
,
&
pPeer
->
timer
);
return
;
return
;
}
}
...
@@ -832,7 +942,7 @@ static void syncRecoverFromMaster(SSyncPeer *pPeer) {
...
@@ -832,7 +942,7 @@ static void syncRecoverFromMaster(SSyncPeer *pPeer) {
SSyncMsg
msg
;
SSyncMsg
msg
;
syncBuildSyncReqMsg
(
&
msg
,
pNode
->
vgId
);
syncBuildSyncReqMsg
(
&
msg
,
pNode
->
vgId
);
taosTmrReset
(
syncNotStarted
,
SYNC_CHECK_INTERVAL
,
pPeer
,
tsSyncTmrCtrl
,
&
pPeer
->
timer
);
taosTmrReset
(
syncNotStarted
,
SYNC_CHECK_INTERVAL
,
(
void
*
)
pPeer
->
rid
,
tsSyncTmrCtrl
,
&
pPeer
->
timer
);
if
(
taosWriteMsg
(
pPeer
->
peerFd
,
&
msg
,
sizeof
(
SSyncMsg
))
!=
sizeof
(
SSyncMsg
))
{
if
(
taosWriteMsg
(
pPeer
->
peerFd
,
&
msg
,
sizeof
(
SSyncMsg
))
!=
sizeof
(
SSyncMsg
))
{
sError
(
"%s, failed to send sync-req to peer"
,
pPeer
->
id
);
sError
(
"%s, failed to send sync-req to peer"
,
pPeer
->
id
);
...
@@ -920,8 +1030,10 @@ static int32_t syncReadPeerMsg(SSyncPeer *pPeer, SSyncHead *pHead) {
...
@@ -920,8 +1030,10 @@ static int32_t syncReadPeerMsg(SSyncPeer *pPeer, SSyncHead *pHead) {
return
0
;
return
0
;
}
}
static
int32_t
syncProcessPeerMsg
(
void
*
param
,
void
*
buffer
)
{
static
int32_t
syncProcessPeerMsg
(
int64_t
rid
,
void
*
buffer
)
{
SSyncPeer
*
pPeer
=
param
;
SSyncPeer
*
pPeer
=
syncAcquirePeer
(
rid
);
if
(
pPeer
==
NULL
)
return
-
1
;
SSyncHead
*
pHead
=
buffer
;
SSyncHead
*
pHead
=
buffer
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
...
@@ -942,12 +1054,17 @@ static int32_t syncProcessPeerMsg(void *param, void *buffer) {
...
@@ -942,12 +1054,17 @@ static int32_t syncProcessPeerMsg(void *param, void *buffer) {
}
}
pthread_mutex_unlock
(
&
pNode
->
mutex
);
pthread_mutex_unlock
(
&
pNode
->
mutex
);
syncReleasePeer
(
pPeer
);
return
code
;
return
code
;
}
}
static
void
syncSendPeersStatusMsgToPeer
(
SSyncPeer
*
pPeer
,
char
ack
,
int8_t
type
,
uint16_t
tranId
)
{
static
int32_t
syncSendPeersStatusMsgToPeer
(
SSyncPeer
*
pPeer
,
char
ack
,
int8_t
type
,
uint16_t
tranId
)
{
if
(
pPeer
->
peerFd
<
0
||
pPeer
->
ip
==
0
)
return
;
if
(
pPeer
->
peerFd
<
0
||
pPeer
->
ip
==
0
)
{
sDebug
(
"%s, failed to send status msg, restart fd:%d"
,
pPeer
->
id
,
pPeer
->
peerFd
);
syncRestartConnection
(
pPeer
);
return
-
1
;
}
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
SPeersStatus
msg
;
SPeersStatus
msg
;
...
@@ -970,9 +1087,11 @@ static void syncSendPeersStatusMsgToPeer(SSyncPeer *pPeer, char ack, int8_t type
...
@@ -970,9 +1087,11 @@ static void syncSendPeersStatusMsgToPeer(SSyncPeer *pPeer, char ack, int8_t type
sDebug
(
"%s, status is sent, self:%s:%s:%"
PRIu64
", peer:%s:%s:%"
PRIu64
", ack:%d tranId:%u type:%s pfd:%d"
,
sDebug
(
"%s, status is sent, self:%s:%s:%"
PRIu64
", peer:%s:%s:%"
PRIu64
", ack:%d tranId:%u type:%s pfd:%d"
,
pPeer
->
id
,
syncRole
[
nodeRole
],
syncStatus
[
nodeSStatus
],
nodeVersion
,
syncRole
[
pPeer
->
role
],
pPeer
->
id
,
syncRole
[
nodeRole
],
syncStatus
[
nodeSStatus
],
nodeVersion
,
syncRole
[
pPeer
->
role
],
syncStatus
[
pPeer
->
sstatus
],
pPeer
->
version
,
ack
,
tranId
,
statusType
[
type
],
pPeer
->
peerFd
);
syncStatus
[
pPeer
->
sstatus
],
pPeer
->
version
,
ack
,
tranId
,
statusType
[
type
],
pPeer
->
peerFd
);
return
0
;
}
else
{
}
else
{
sDebug
(
"%s, failed to send status msg, restart"
,
pPeer
->
id
);
sDebug
(
"%s, failed to send status msg, restart"
,
pPeer
->
id
);
syncRestartConnection
(
pPeer
);
syncRestartConnection
(
pPeer
);
return
-
1
;
}
}
}
}
...
@@ -989,7 +1108,7 @@ static void syncSetupPeerConnection(SSyncPeer *pPeer) {
...
@@ -989,7 +1108,7 @@ static void syncSetupPeerConnection(SSyncPeer *pPeer) {
int32_t
connFd
=
taosOpenTcpClientSocket
(
pPeer
->
ip
,
pPeer
->
port
,
0
);
int32_t
connFd
=
taosOpenTcpClientSocket
(
pPeer
->
ip
,
pPeer
->
port
,
0
);
if
(
connFd
<
0
)
{
if
(
connFd
<
0
)
{
sDebug
(
"%s, failed to open tcp socket since %s"
,
pPeer
->
id
,
strerror
(
errno
));
sDebug
(
"%s, failed to open tcp socket since %s"
,
pPeer
->
id
,
strerror
(
errno
));
taosTmrReset
(
syncCheckPeerConnection
,
SYNC_CHECK_INTERVAL
,
pPeer
,
tsSyncTmrCtrl
,
&
pPeer
->
timer
);
taosTmrReset
(
syncCheckPeerConnection
,
SYNC_CHECK_INTERVAL
,
(
void
*
)
pPeer
->
rid
,
tsSyncTmrCtrl
,
&
pPeer
->
timer
);
return
;
return
;
}
}
...
@@ -1000,17 +1119,19 @@ static void syncSetupPeerConnection(SSyncPeer *pPeer) {
...
@@ -1000,17 +1119,19 @@ static void syncSetupPeerConnection(SSyncPeer *pPeer) {
sDebug
(
"%s, connection to peer server is setup, pfd:%d sfd:%d tranId:%u"
,
pPeer
->
id
,
connFd
,
pPeer
->
syncFd
,
msg
.
tranId
);
sDebug
(
"%s, connection to peer server is setup, pfd:%d sfd:%d tranId:%u"
,
pPeer
->
id
,
connFd
,
pPeer
->
syncFd
,
msg
.
tranId
);
pPeer
->
peerFd
=
connFd
;
pPeer
->
peerFd
=
connFd
;
pPeer
->
role
=
TAOS_SYNC_ROLE_UNSYNCED
;
pPeer
->
role
=
TAOS_SYNC_ROLE_UNSYNCED
;
pPeer
->
pConn
=
syncAllocateTcpConn
(
tsTcpPool
,
pPeer
,
connFd
);
pPeer
->
pConn
=
syncAllocateTcpConn
(
tsTcpPool
,
pPeer
->
rid
,
connFd
);
syncAddPeerRef
(
pPeer
);
}
else
{
}
else
{
sDebug
(
"%s, failed to setup peer connection to server since %s, try later"
,
pPeer
->
id
,
strerror
(
errno
));
sDebug
(
"%s, failed to setup peer connection to server since %s, try later"
,
pPeer
->
id
,
strerror
(
errno
));
taosClose
(
connFd
);
taosClose
(
connFd
);
taosTmrReset
(
syncCheckPeerConnection
,
SYNC_CHECK_INTERVAL
,
pPeer
,
tsSyncTmrCtrl
,
&
pPeer
->
timer
);
taosTmrReset
(
syncCheckPeerConnection
,
SYNC_CHECK_INTERVAL
,
(
void
*
)
pPeer
->
rid
,
tsSyncTmrCtrl
,
&
pPeer
->
timer
);
}
}
}
}
static
void
syncCheckPeerConnection
(
void
*
param
,
void
*
tmrId
)
{
static
void
syncCheckPeerConnection
(
void
*
param
,
void
*
tmrId
)
{
SSyncPeer
*
pPeer
=
param
;
int64_t
rid
=
(
int64_t
)
param
;
SSyncPeer
*
pPeer
=
syncAcquirePeer
(
rid
);
if
(
pPeer
==
NULL
)
return
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
pthread_mutex_lock
(
&
pNode
->
mutex
);
pthread_mutex_lock
(
&
pNode
->
mutex
);
...
@@ -1019,6 +1140,8 @@ static void syncCheckPeerConnection(void *param, void *tmrId) {
...
@@ -1019,6 +1140,8 @@ static void syncCheckPeerConnection(void *param, void *tmrId) {
syncSetupPeerConnection
(
pPeer
);
syncSetupPeerConnection
(
pPeer
);
pthread_mutex_unlock
(
&
pNode
->
mutex
);
pthread_mutex_unlock
(
&
pNode
->
mutex
);
syncReleasePeer
(
pPeer
);
}
}
static
void
syncCreateRestoreDataThread
(
SSyncPeer
*
pPeer
)
{
static
void
syncCreateRestoreDataThread
(
SSyncPeer
*
pPeer
)
{
...
@@ -1029,8 +1152,9 @@ static void syncCreateRestoreDataThread(SSyncPeer *pPeer) {
...
@@ -1029,8 +1152,9 @@ static void syncCreateRestoreDataThread(SSyncPeer *pPeer) {
pthread_attr_init
(
&
thattr
);
pthread_attr_init
(
&
thattr
);
pthread_attr_setdetachstate
(
&
thattr
,
PTHREAD_CREATE_DETACHED
);
pthread_attr_setdetachstate
(
&
thattr
,
PTHREAD_CREATE_DETACHED
);
syncAddPeerRef
(
pPeer
);
(
void
)
syncAcquirePeer
(
pPeer
->
rid
);
int32_t
ret
=
pthread_create
(
&
(
thread
),
&
thattr
,
(
void
*
)
syncRestoreData
,
pPeer
);
int32_t
ret
=
pthread_create
(
&
(
thread
),
&
thattr
,
(
void
*
)
syncRestoreData
,
(
void
*
)
pPeer
->
rid
);
pthread_attr_destroy
(
&
thattr
);
pthread_attr_destroy
(
&
thattr
);
if
(
ret
<
0
)
{
if
(
ret
<
0
)
{
...
@@ -1038,10 +1162,11 @@ static void syncCreateRestoreDataThread(SSyncPeer *pPeer) {
...
@@ -1038,10 +1162,11 @@ static void syncCreateRestoreDataThread(SSyncPeer *pPeer) {
nodeSStatus
=
TAOS_SYNC_STATUS_INIT
;
nodeSStatus
=
TAOS_SYNC_STATUS_INIT
;
sError
(
"%s, failed to create sync thread, set sstatus:%s"
,
pPeer
->
id
,
syncStatus
[
nodeSStatus
]);
sError
(
"%s, failed to create sync thread, set sstatus:%s"
,
pPeer
->
id
,
syncStatus
[
nodeSStatus
]);
taosClose
(
pPeer
->
syncFd
);
taosClose
(
pPeer
->
syncFd
);
syncDecPeerRef
(
pPeer
);
}
else
{
}
else
{
sInfo
(
"%s, sync connection is up"
,
pPeer
->
id
);
sInfo
(
"%s, sync connection is up"
,
pPeer
->
id
);
}
}
syncReleasePeer
(
pPeer
);
}
}
static
void
syncProcessIncommingConnection
(
int32_t
connFd
,
uint32_t
sourceIp
)
{
static
void
syncProcessIncommingConnection
(
int32_t
connFd
,
uint32_t
sourceIp
)
{
...
@@ -1073,7 +1198,7 @@ static void syncProcessIncommingConnection(int32_t connFd, uint32_t sourceIp) {
...
@@ -1073,7 +1198,7 @@ static void syncProcessIncommingConnection(int32_t connFd, uint32_t sourceIp) {
return
;
return
;
}
}
sDebug
(
"vgId:%d, sync
msg is received
, tranId:%u"
,
vgId
,
msg
.
tranId
);
sDebug
(
"vgId:%d, sync
connection is incomming
, tranId:%u"
,
vgId
,
msg
.
tranId
);
SSyncNode
*
pNode
=
*
ppNode
;
SSyncNode
*
pNode
=
*
ppNode
;
pthread_mutex_lock
(
&
pNode
->
mutex
);
pthread_mutex_lock
(
&
pNode
->
mutex
);
...
@@ -1101,8 +1226,7 @@ static void syncProcessIncommingConnection(int32_t connFd, uint32_t sourceIp) {
...
@@ -1101,8 +1226,7 @@ static void syncProcessIncommingConnection(int32_t connFd, uint32_t sourceIp) {
sDebug
(
"%s, TCP connection is up, pfd:%d sfd:%d, old pfd:%d"
,
pPeer
->
id
,
connFd
,
pPeer
->
syncFd
,
pPeer
->
peerFd
);
sDebug
(
"%s, TCP connection is up, pfd:%d sfd:%d, old pfd:%d"
,
pPeer
->
id
,
connFd
,
pPeer
->
syncFd
,
pPeer
->
peerFd
);
syncClosePeerConn
(
pPeer
);
syncClosePeerConn
(
pPeer
);
pPeer
->
peerFd
=
connFd
;
pPeer
->
peerFd
=
connFd
;
pPeer
->
pConn
=
syncAllocateTcpConn
(
tsTcpPool
,
pPeer
,
connFd
);
pPeer
->
pConn
=
syncAllocateTcpConn
(
tsTcpPool
,
pPeer
->
rid
,
connFd
);
syncAddPeerRef
(
pPeer
);
sDebug
(
"%s, ready to exchange data"
,
pPeer
->
id
);
sDebug
(
"%s, ready to exchange data"
,
pPeer
->
id
);
syncSendPeersStatusMsgToPeer
(
pPeer
,
1
,
SYNC_STATUS_EXCHANGE_DATA
,
syncGenTranId
());
syncSendPeersStatusMsgToPeer
(
pPeer
,
1
,
SYNC_STATUS_EXCHANGE_DATA
,
syncGenTranId
());
}
}
...
@@ -1111,23 +1235,21 @@ static void syncProcessIncommingConnection(int32_t connFd, uint32_t sourceIp) {
...
@@ -1111,23 +1235,21 @@ static void syncProcessIncommingConnection(int32_t connFd, uint32_t sourceIp) {
pthread_mutex_unlock
(
&
pNode
->
mutex
);
pthread_mutex_unlock
(
&
pNode
->
mutex
);
}
}
static
void
syncProcessBrokenLink
(
void
*
param
)
{
static
void
syncProcessBrokenLink
(
int64_t
rid
)
{
if
(
param
==
NULL
)
return
;
// the connection for arbitrator
SSyncPeer
*
pPeer
=
syncAcquirePeer
(
rid
);
SSyncPeer
*
pPeer
=
param
;
if
(
pPeer
==
NULL
)
return
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
if
(
taosAcquireRef
(
tsSyncRefId
,
pNode
->
rid
)
==
NULL
)
return
;
pthread_mutex_lock
(
&
pNode
->
mutex
);
pthread_mutex_lock
(
&
pNode
->
mutex
);
sDebug
(
"%s, TCP link is broken since %s, pfd:%d sfd:%d"
,
pPeer
->
id
,
strerror
(
errno
),
pPeer
->
peerFd
,
pPeer
->
syncFd
);
sDebug
(
"%s, TCP link is broken since %s, pfd:%d sfd:%d"
,
pPeer
->
id
,
strerror
(
errno
),
pPeer
->
peerFd
,
pPeer
->
syncFd
);
pPeer
->
peerFd
=
-
1
;
pPeer
->
peerFd
=
-
1
;
if
(
syncDecPeerRef
(
pPeer
)
!=
0
)
{
syncRestartConnection
(
pPeer
);
syncRestartConnection
(
pPeer
);
}
pthread_mutex_unlock
(
&
pNode
->
mutex
);
pthread_mutex_unlock
(
&
pNode
->
mutex
);
taosReleaseRef
(
tsSyncRefId
,
pNode
->
rid
);
syncReleasePeer
(
pPeer
);
}
}
static
int32_t
syncSaveFwdInfo
(
SSyncNode
*
pNode
,
uint64_t
version
,
void
*
mhandle
)
{
static
int32_t
syncSaveFwdInfo
(
SSyncNode
*
pNode
,
uint64_t
version
,
void
*
mhandle
)
{
...
@@ -1198,7 +1320,7 @@ static void syncProcessFwdAck(SSyncNode *pNode, SFwdInfo *pFwdInfo, int32_t code
...
@@ -1198,7 +1320,7 @@ static void syncProcessFwdAck(SSyncNode *pNode, SFwdInfo *pFwdInfo, int32_t code
static
void
syncMonitorNodeRole
(
void
*
param
,
void
*
tmrId
)
{
static
void
syncMonitorNodeRole
(
void
*
param
,
void
*
tmrId
)
{
int64_t
rid
=
(
int64_t
)
param
;
int64_t
rid
=
(
int64_t
)
param
;
SSyncNode
*
pNode
=
taosAcquireRef
(
tsSyncRefId
,
rid
);
SSyncNode
*
pNode
=
syncAcquireNode
(
rid
);
if
(
pNode
==
NULL
)
return
;
if
(
pNode
==
NULL
)
return
;
for
(
int32_t
index
=
0
;
index
<
pNode
->
replica
;
index
++
)
{
for
(
int32_t
index
=
0
;
index
<
pNode
->
replica
;
index
++
)
{
...
@@ -1215,12 +1337,12 @@ static void syncMonitorNodeRole(void *param, void *tmrId) {
...
@@ -1215,12 +1337,12 @@ static void syncMonitorNodeRole(void *param, void *tmrId) {
}
}
pNode
->
pRoleTimer
=
taosTmrStart
(
syncMonitorNodeRole
,
SYNC_ROLE_TIMER
,
(
void
*
)
pNode
->
rid
,
tsSyncTmrCtrl
);
pNode
->
pRoleTimer
=
taosTmrStart
(
syncMonitorNodeRole
,
SYNC_ROLE_TIMER
,
(
void
*
)
pNode
->
rid
,
tsSyncTmrCtrl
);
taosReleaseRef
(
tsSyncRefId
,
rid
);
syncReleaseNode
(
pNode
);
}
}
static
void
syncMonitorFwdInfos
(
void
*
param
,
void
*
tmrId
)
{
static
void
syncMonitorFwdInfos
(
void
*
param
,
void
*
tmrId
)
{
int64_t
rid
=
(
int64_t
)
param
;
int64_t
rid
=
(
int64_t
)
param
;
SSyncNode
*
pNode
=
taosAcquireRef
(
tsSyncRefId
,
rid
);
SSyncNode
*
pNode
=
syncAcquireNode
(
rid
);
if
(
pNode
==
NULL
)
return
;
if
(
pNode
==
NULL
)
return
;
SSyncFwds
*
pSyncFwds
=
pNode
->
pSyncFwds
;
SSyncFwds
*
pSyncFwds
=
pNode
->
pSyncFwds
;
...
@@ -1246,7 +1368,7 @@ static void syncMonitorFwdInfos(void *param, void *tmrId) {
...
@@ -1246,7 +1368,7 @@ static void syncMonitorFwdInfos(void *param, void *tmrId) {
pNode
->
pFwdTimer
=
taosTmrStart
(
syncMonitorFwdInfos
,
SYNC_FWD_TIMER
,
(
void
*
)
pNode
->
rid
,
tsSyncTmrCtrl
);
pNode
->
pFwdTimer
=
taosTmrStart
(
syncMonitorFwdInfos
,
SYNC_FWD_TIMER
,
(
void
*
)
pNode
->
rid
,
tsSyncTmrCtrl
);
}
}
taosReleaseRef
(
tsSyncRefId
,
rid
);
syncReleaseNode
(
pNode
);
}
}
static
int32_t
syncForwardToPeerImpl
(
SSyncNode
*
pNode
,
void
*
data
,
void
*
mhandle
,
int32_t
qtype
)
{
static
int32_t
syncForwardToPeerImpl
(
SSyncNode
*
pNode
,
void
*
data
,
void
*
mhandle
,
int32_t
qtype
)
{
...
...
src/sync/src/syncRestore.c
浏览文件 @
9f4a8ba7
...
@@ -90,15 +90,18 @@ static int32_t syncRestoreFile(SSyncPeer *pPeer, uint64_t *fversion) {
...
@@ -90,15 +90,18 @@ static int32_t syncRestoreFile(SSyncPeer *pPeer, uint64_t *fversion) {
break
;
break
;
}
}
sDebug
(
"%s, file:%s info is received from master, index:%d size:%"
PRId64
" fver:%"
PRIu64
" magic:%d"
,
pPeer
->
id
,
minfo
.
name
,
minfo
.
index
,
minfo
.
size
,
minfo
.
fversion
,
minfo
.
magic
);
// remove extra files on slave between the current and last index
// remove extra files on slave between the current and last index
syncRemoveExtraFile
(
pPeer
,
pindex
+
1
,
minfo
.
index
-
1
);
syncRemoveExtraFile
(
pPeer
,
pindex
+
1
,
minfo
.
index
-
1
);
pindex
=
minfo
.
index
;
pindex
=
minfo
.
index
;
// check the file info
// check the file info
sinfo
=
minfo
;
sinfo
=
minfo
;
s
Debug
(
"%s, get file:%s info size:%"
PRId64
,
pPeer
->
id
,
minfo
.
name
,
minfo
.
size
);
s
info
.
magic
=
(
*
pNode
->
getFileInfo
)(
pNode
->
vgId
,
sinfo
.
name
,
&
sinfo
.
index
,
TAOS_SYNC_MAX_INDEX
,
&
sinfo
.
size
,
&
sinfo
.
fversion
);
s
info
.
magic
=
(
*
pNode
->
getFileInfo
)(
pNode
->
vgId
,
sinfo
.
name
,
&
sinfo
.
index
,
TAOS_SYNC_MAX_INDEX
,
&
sinfo
.
siz
e
,
s
Debug
(
"%s, local file:%s info, index:%d size:%"
PRId64
" fver:%"
PRIu64
" magic:%d"
,
pPeer
->
id
,
sinfo
.
nam
e
,
&
sinfo
.
fversion
);
sinfo
.
index
,
sinfo
.
size
,
sinfo
.
fversion
,
sinfo
.
magic
);
// if file not there or magic is not the same, file shall be synced
// if file not there or magic is not the same, file shall be synced
memset
(
&
fileAck
,
0
,
sizeof
(
SFileAck
));
memset
(
&
fileAck
,
0
,
sizeof
(
SFileAck
));
...
@@ -116,6 +119,8 @@ static int32_t syncRestoreFile(SSyncPeer *pPeer, uint64_t *fversion) {
...
@@ -116,6 +119,8 @@ static int32_t syncRestoreFile(SSyncPeer *pPeer, uint64_t *fversion) {
if
(
fileAck
.
sync
==
0
)
{
if
(
fileAck
.
sync
==
0
)
{
sDebug
(
"%s, %s is the same"
,
pPeer
->
id
,
minfo
.
name
);
sDebug
(
"%s, %s is the same"
,
pPeer
->
id
,
minfo
.
name
);
continue
;
continue
;
}
else
{
sDebug
(
"%s, %s will be received, size:%"
PRId64
,
pPeer
->
id
,
minfo
.
name
,
minfo
.
size
);
}
}
// if sync is required, open file, receive from master, and write to file
// if sync is required, open file, receive from master, and write to file
...
@@ -155,7 +160,7 @@ static int32_t syncRestoreFile(SSyncPeer *pPeer, uint64_t *fversion) {
...
@@ -155,7 +160,7 @@ static int32_t syncRestoreFile(SSyncPeer *pPeer, uint64_t *fversion) {
return
code
;
return
code
;
}
}
static
int32_t
syncRestoreWal
(
SSyncPeer
*
pPeer
)
{
static
int32_t
syncRestoreWal
(
SSyncPeer
*
pPeer
,
uint64_t
*
wver
)
{
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
int32_t
ret
,
code
=
-
1
;
int32_t
ret
,
code
=
-
1
;
uint64_t
lastVer
=
0
;
uint64_t
lastVer
=
0
;
...
@@ -198,6 +203,7 @@ static int32_t syncRestoreWal(SSyncPeer *pPeer) {
...
@@ -198,6 +203,7 @@ static int32_t syncRestoreWal(SSyncPeer *pPeer) {
}
}
free
(
pHead
);
free
(
pHead
);
*
wver
=
lastVer
;
return
code
;
return
code
;
}
}
...
@@ -321,12 +327,19 @@ static int32_t syncRestoreDataStepByStep(SSyncPeer *pPeer) {
...
@@ -321,12 +327,19 @@ static int32_t syncRestoreDataStepByStep(SSyncPeer *pPeer) {
nodeVersion
=
fversion
;
nodeVersion
=
fversion
;
sInfo
(
"%s, start to restore wal"
,
pPeer
->
id
);
sInfo
(
"%s, start to restore wal, fver:%"
PRIu64
,
pPeer
->
id
,
nodeVersion
);
if
(
syncRestoreWal
(
pPeer
)
<
0
)
{
uint64_t
wver
=
0
;
sError
(
"%s, failed to restore wal"
,
pPeer
->
id
);
code
=
syncRestoreWal
(
pPeer
,
&
wver
);
// lastwar
if
(
code
<
0
)
{
sError
(
"%s, failed to restore wal, code:%d"
,
pPeer
->
id
,
code
);
return
-
1
;
return
-
1
;
}
}
if
(
wver
!=
0
)
{
nodeVersion
=
wver
;
sDebug
(
"%s, restore wal finished, set sver:%"
PRIu64
,
pPeer
->
id
,
nodeVersion
);
}
nodeSStatus
=
TAOS_SYNC_STATUS_CACHE
;
nodeSStatus
=
TAOS_SYNC_STATUS_CACHE
;
sInfo
(
"%s, start to insert buffered points, set sstatus:%s"
,
pPeer
->
id
,
syncStatus
[
nodeSStatus
]);
sInfo
(
"%s, start to insert buffered points, set sstatus:%s"
,
pPeer
->
id
,
syncStatus
[
nodeSStatus
]);
if
(
syncProcessBufferedFwd
(
pPeer
)
<
0
)
{
if
(
syncProcessBufferedFwd
(
pPeer
)
<
0
)
{
...
@@ -338,7 +351,10 @@ static int32_t syncRestoreDataStepByStep(SSyncPeer *pPeer) {
...
@@ -338,7 +351,10 @@ static int32_t syncRestoreDataStepByStep(SSyncPeer *pPeer) {
}
}
void
*
syncRestoreData
(
void
*
param
)
{
void
*
syncRestoreData
(
void
*
param
)
{
SSyncPeer
*
pPeer
=
param
;
int64_t
rid
=
(
int64_t
)
param
;
SSyncPeer
*
pPeer
=
syncAcquirePeer
(
rid
);
if
(
pPeer
==
NULL
)
return
NULL
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
taosBlockSIGPIPE
();
taosBlockSIGPIPE
();
...
@@ -369,7 +385,7 @@ void *syncRestoreData(void *param) {
...
@@ -369,7 +385,7 @@ void *syncRestoreData(void *param) {
taosClose
(
pPeer
->
syncFd
);
taosClose
(
pPeer
->
syncFd
);
syncCloseRecvBuffer
(
pNode
);
syncCloseRecvBuffer
(
pNode
);
__sync_fetch_and_sub
(
&
tsSyncNum
,
1
);
__sync_fetch_and_sub
(
&
tsSyncNum
,
1
);
sync
DecPeerRef
(
pPeer
);
sync
ReleasePeer
(
pPeer
);
return
NULL
;
return
NULL
;
}
}
src/sync/src/syncRetrieve.c
浏览文件 @
9f4a8ba7
...
@@ -104,7 +104,8 @@ static int32_t syncRetrieveFile(SSyncPeer *pPeer) {
...
@@ -104,7 +104,8 @@ static int32_t syncRetrieveFile(SSyncPeer *pPeer) {
fileInfo
.
magic
=
(
*
pNode
->
getFileInfo
)(
pNode
->
vgId
,
fileInfo
.
name
,
&
fileInfo
.
index
,
TAOS_SYNC_MAX_INDEX
,
fileInfo
.
magic
=
(
*
pNode
->
getFileInfo
)(
pNode
->
vgId
,
fileInfo
.
name
,
&
fileInfo
.
index
,
TAOS_SYNC_MAX_INDEX
,
&
fileInfo
.
size
,
&
fileInfo
.
fversion
);
&
fileInfo
.
size
,
&
fileInfo
.
fversion
);
syncBuildFileInfo
(
&
fileInfo
,
pNode
->
vgId
);
syncBuildFileInfo
(
&
fileInfo
,
pNode
->
vgId
);
sDebug
(
"%s, file:%s info is sent, size:%"
PRId64
,
pPeer
->
id
,
fileInfo
.
name
,
fileInfo
.
size
);
sDebug
(
"%s, file:%s info is sent, index:%d size:%"
PRId64
" fver:%"
PRIu64
" magic:%d"
,
pPeer
->
id
,
fileInfo
.
name
,
fileInfo
.
index
,
fileInfo
.
size
,
fileInfo
.
fversion
,
fileInfo
.
magic
);
// send the file info
// send the file info
int32_t
ret
=
taosWriteMsg
(
pPeer
->
syncFd
,
&
(
fileInfo
),
sizeof
(
SFileInfo
));
int32_t
ret
=
taosWriteMsg
(
pPeer
->
syncFd
,
&
(
fileInfo
),
sizeof
(
SFileInfo
));
...
@@ -144,6 +145,8 @@ static int32_t syncRetrieveFile(SSyncPeer *pPeer) {
...
@@ -144,6 +145,8 @@ static int32_t syncRetrieveFile(SSyncPeer *pPeer) {
fileInfo
.
index
++
;
fileInfo
.
index
++
;
sDebug
(
"%s, %s is the same"
,
pPeer
->
id
,
fileInfo
.
name
);
sDebug
(
"%s, %s is the same"
,
pPeer
->
id
,
fileInfo
.
name
);
continue
;
continue
;
}
else
{
sDebug
(
"%s, %s will be sent"
,
pPeer
->
id
,
fileInfo
.
name
);
}
}
// get the full path to file
// get the full path to file
...
@@ -461,7 +464,10 @@ static int32_t syncRetrieveDataStepByStep(SSyncPeer *pPeer) {
...
@@ -461,7 +464,10 @@ static int32_t syncRetrieveDataStepByStep(SSyncPeer *pPeer) {
}
}
void
*
syncRetrieveData
(
void
*
param
)
{
void
*
syncRetrieveData
(
void
*
param
)
{
SSyncPeer
*
pPeer
=
(
SSyncPeer
*
)
param
;
int64_t
rid
=
(
int64_t
)
param
;
SSyncPeer
*
pPeer
=
syncAcquirePeer
(
rid
);
if
(
pPeer
==
NULL
)
return
NULL
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
SSyncNode
*
pNode
=
pPeer
->
pSyncNode
;
taosBlockSIGPIPE
();
taosBlockSIGPIPE
();
...
@@ -490,7 +496,7 @@ void *syncRetrieveData(void *param) {
...
@@ -490,7 +496,7 @@ void *syncRetrieveData(void *param) {
pPeer
->
fileChanged
=
0
;
pPeer
->
fileChanged
=
0
;
taosClose
(
pPeer
->
syncFd
);
taosClose
(
pPeer
->
syncFd
);
sync
DecPeerRef
(
pPeer
);
sync
ReleasePeer
(
pPeer
);
return
NULL
;
return
NULL
;
}
}
src/sync/src/syncTcp.c
浏览文件 @
9f4a8ba7
...
@@ -42,7 +42,7 @@ typedef struct SPoolObj {
...
@@ -42,7 +42,7 @@ typedef struct SPoolObj {
typedef
struct
{
typedef
struct
{
SThreadObj
*
pThread
;
SThreadObj
*
pThread
;
void
*
ahandle
;
int64_t
handleId
;
int32_t
fd
;
int32_t
fd
;
int32_t
closedByApp
;
int32_t
closedByApp
;
}
SConnObj
;
}
SConnObj
;
...
@@ -112,7 +112,7 @@ void syncCloseTcpThreadPool(void *param) {
...
@@ -112,7 +112,7 @@ void syncCloseTcpThreadPool(void *param) {
tfree
(
pPool
);
tfree
(
pPool
);
}
}
void
*
syncAllocateTcpConn
(
void
*
param
,
void
*
pPeer
,
int32_t
connFd
)
{
void
*
syncAllocateTcpConn
(
void
*
param
,
int64_t
rid
,
int32_t
connFd
)
{
struct
epoll_event
event
;
struct
epoll_event
event
;
SPoolObj
*
pPool
=
param
;
SPoolObj
*
pPool
=
param
;
...
@@ -130,7 +130,7 @@ void *syncAllocateTcpConn(void *param, void *pPeer, int32_t connFd) {
...
@@ -130,7 +130,7 @@ void *syncAllocateTcpConn(void *param, void *pPeer, int32_t connFd) {
pConn
->
fd
=
connFd
;
pConn
->
fd
=
connFd
;
pConn
->
pThread
=
pThread
;
pConn
->
pThread
=
pThread
;
pConn
->
ahandle
=
pPeer
;
pConn
->
handleId
=
rid
;
pConn
->
closedByApp
=
0
;
pConn
->
closedByApp
=
0
;
event
.
events
=
EPOLLIN
|
EPOLLRDHUP
;
event
.
events
=
EPOLLIN
|
EPOLLRDHUP
;
...
@@ -164,7 +164,7 @@ static void taosProcessBrokenLink(SConnObj *pConn) {
...
@@ -164,7 +164,7 @@ static void taosProcessBrokenLink(SConnObj *pConn) {
SPoolInfo
*
pInfo
=
&
pPool
->
info
;
SPoolInfo
*
pInfo
=
&
pPool
->
info
;
if
(
pConn
->
closedByApp
==
0
)
shutdown
(
pConn
->
fd
,
SHUT_WR
);
if
(
pConn
->
closedByApp
==
0
)
shutdown
(
pConn
->
fd
,
SHUT_WR
);
(
*
pInfo
->
processBrokenLink
)(
pConn
->
ahandle
);
(
*
pInfo
->
processBrokenLink
)(
pConn
->
handleId
);
pThread
->
numOfFds
--
;
pThread
->
numOfFds
--
;
epoll_ctl
(
pThread
->
pollFd
,
EPOLL_CTL_DEL
,
pConn
->
fd
,
NULL
);
epoll_ctl
(
pThread
->
pollFd
,
EPOLL_CTL_DEL
,
pConn
->
fd
,
NULL
);
...
@@ -221,7 +221,7 @@ static void *syncProcessTcpData(void *param) {
...
@@ -221,7 +221,7 @@ static void *syncProcessTcpData(void *param) {
}
}
if
(
pConn
->
closedByApp
==
0
)
{
if
(
pConn
->
closedByApp
==
0
)
{
if
((
*
pInfo
->
processIncomingMsg
)(
pConn
->
ahandle
,
buffer
)
<
0
)
{
if
((
*
pInfo
->
processIncomingMsg
)(
pConn
->
handleId
,
buffer
)
<
0
)
{
syncFreeTcpConn
(
pConn
);
syncFreeTcpConn
(
pConn
);
continue
;
continue
;
}
}
...
...
src/util/src/tsocket.c
浏览文件 @
9f4a8ba7
...
@@ -18,6 +18,10 @@
...
@@ -18,6 +18,10 @@
#include "tsocket.h"
#include "tsocket.h"
#include "taoserror.h"
#include "taoserror.h"
#ifndef SIGPIPE
#define SIGPIPE EPIPE
#endif
int32_t
taosGetFqdn
(
char
*
fqdn
)
{
int32_t
taosGetFqdn
(
char
*
fqdn
)
{
char
hostname
[
1024
];
char
hostname
[
1024
];
hostname
[
1023
]
=
'\0'
;
hostname
[
1023
]
=
'\0'
;
...
@@ -115,6 +119,10 @@ int32_t taosWriteMsg(SOCKET fd, void *buf, int32_t nbytes) {
...
@@ -115,6 +119,10 @@ int32_t taosWriteMsg(SOCKET fd, void *buf, int32_t nbytes) {
nleft
-=
nwritten
;
nleft
-=
nwritten
;
ptr
+=
nwritten
;
ptr
+=
nwritten
;
}
}
if
(
errno
==
SIGPIPE
||
errno
==
EPIPE
)
{
return
-
1
;
}
}
}
return
(
nbytes
-
nleft
);
return
(
nbytes
-
nleft
);
...
@@ -142,6 +150,10 @@ int32_t taosReadMsg(SOCKET fd, void *buf, int32_t nbytes) {
...
@@ -142,6 +150,10 @@ int32_t taosReadMsg(SOCKET fd, void *buf, int32_t nbytes) {
nleft
-=
nread
;
nleft
-=
nread
;
ptr
+=
nread
;
ptr
+=
nread
;
}
}
if
(
errno
==
SIGPIPE
||
errno
==
EPIPE
)
{
return
-
1
;
}
}
}
return
(
nbytes
-
nleft
);
return
(
nbytes
-
nleft
);
...
...
src/vnode/src/vnodeCfg.c
浏览文件 @
9f4a8ba7
...
@@ -106,9 +106,10 @@ int32_t vnodeReadCfg(SVnodeObj *pVnode) {
...
@@ -106,9 +106,10 @@ int32_t vnodeReadCfg(SVnodeObj *pVnode) {
cJSON
*
vgCfgVersion
=
cJSON_GetObjectItem
(
root
,
"vgCfgVersion"
);
cJSON
*
vgCfgVersion
=
cJSON_GetObjectItem
(
root
,
"vgCfgVersion"
);
if
(
!
vgCfgVersion
||
vgCfgVersion
->
type
!=
cJSON_Number
)
{
if
(
!
vgCfgVersion
||
vgCfgVersion
->
type
!=
cJSON_Number
)
{
vError
(
"vgId:%d, failed to read %s, vgCfgVersion not found"
,
pVnode
->
vgId
,
file
);
vError
(
"vgId:%d, failed to read %s, vgCfgVersion not found"
,
pVnode
->
vgId
,
file
);
goto
PARSE_VCFG_ERROR
;
vnodeMsg
.
cfg
.
vgCfgVersion
=
0
;
}
else
{
vnodeMsg
.
cfg
.
vgCfgVersion
=
vgCfgVersion
->
valueint
;
}
}
vnodeMsg
.
cfg
.
vgCfgVersion
=
vgCfgVersion
->
valueint
;
cJSON
*
cacheBlockSize
=
cJSON_GetObjectItem
(
root
,
"cacheBlockSize"
);
cJSON
*
cacheBlockSize
=
cJSON_GetObjectItem
(
root
,
"cacheBlockSize"
);
if
(
!
cacheBlockSize
||
cacheBlockSize
->
type
!=
cJSON_Number
)
{
if
(
!
cacheBlockSize
||
cacheBlockSize
->
type
!=
cJSON_Number
)
{
...
...
src/vnode/src/vnodeMgmt.c
浏览文件 @
9f4a8ba7
...
@@ -89,7 +89,10 @@ static void vnodeIncRef(void *ptNode) {
...
@@ -89,7 +89,10 @@ static void vnodeIncRef(void *ptNode) {
}
}
void
*
vnodeAcquire
(
int32_t
vgId
)
{
void
*
vnodeAcquire
(
int32_t
vgId
)
{
SVnodeObj
**
ppVnode
=
taosHashGetCB
(
tsVnodesHash
,
&
vgId
,
sizeof
(
int32_t
),
vnodeIncRef
,
NULL
,
sizeof
(
void
*
));
SVnodeObj
**
ppVnode
=
NULL
;
if
(
tsVnodesHash
!=
NULL
)
{
ppVnode
=
taosHashGetCB
(
tsVnodesHash
,
&
vgId
,
sizeof
(
int32_t
),
vnodeIncRef
,
NULL
,
sizeof
(
void
*
));
}
if
(
ppVnode
==
NULL
||
*
ppVnode
==
NULL
)
{
if
(
ppVnode
==
NULL
||
*
ppVnode
==
NULL
)
{
terrno
=
TSDB_CODE_VND_INVALID_VGROUP_ID
;
terrno
=
TSDB_CODE_VND_INVALID_VGROUP_ID
;
...
...
src/vnode/src/vnodeRead.c
浏览文件 @
9f4a8ba7
...
@@ -65,13 +65,17 @@ static int32_t vnodeCheckRead(SVnodeObj *pVnode) {
...
@@ -65,13 +65,17 @@ static int32_t vnodeCheckRead(SVnodeObj *pVnode) {
return
TSDB_CODE_APP_NOT_READY
;
return
TSDB_CODE_APP_NOT_READY
;
}
}
if
(
pVnode
->
role
!=
TAOS_SYNC_ROLE_SLAVE
&&
pVnode
->
role
!=
TAOS_SYNC_ROLE_MASTER
)
{
if
(
pVnode
->
role
==
TAOS_SYNC_ROLE_MASTER
)
{
vDebug
(
"vgId:%d, replica:%d role:%s, refCount:%d pVnode:%p"
,
pVnode
->
vgId
,
pVnode
->
syncCfg
.
replica
,
return
TSDB_CODE_SUCCESS
;
syncRole
[
pVnode
->
role
],
pVnode
->
refCount
,
pVnode
);
}
return
TSDB_CODE_APP_NOT_READY
;
if
(
tsEnableSlaveQuery
&&
pVnode
->
role
==
TAOS_SYNC_ROLE_SLAVE
)
{
return
TSDB_CODE_SUCCESS
;
}
}
return
TSDB_CODE_SUCCESS
;
vDebug
(
"vgId:%d, replica:%d role:%s, refCount:%d pVnode:%p, cant provide query service"
,
pVnode
->
vgId
,
pVnode
->
syncCfg
.
replica
,
syncRole
[
pVnode
->
role
],
pVnode
->
refCount
,
pVnode
);
return
TSDB_CODE_APP_NOT_READY
;
}
}
void
vnodeFreeFromRQueue
(
void
*
vparam
,
SVReadMsg
*
pRead
)
{
void
vnodeFreeFromRQueue
(
void
*
vparam
,
SVReadMsg
*
pRead
)
{
...
...
src/vnode/src/vnodeWrite.c
浏览文件 @
9f4a8ba7
...
@@ -297,7 +297,7 @@ static int32_t vnodePerformFlowCtrl(SVWriteMsg *pWrite) {
...
@@ -297,7 +297,7 @@ static int32_t vnodePerformFlowCtrl(SVWriteMsg *pWrite) {
if
(
pWrite
->
qtype
!=
TAOS_QTYPE_RPC
)
return
0
;
if
(
pWrite
->
qtype
!=
TAOS_QTYPE_RPC
)
return
0
;
if
(
pVnode
->
queuedWMsg
<
MAX_QUEUED_MSG_NUM
&&
pVnode
->
flowctrlLevel
<=
0
)
return
0
;
if
(
pVnode
->
queuedWMsg
<
MAX_QUEUED_MSG_NUM
&&
pVnode
->
flowctrlLevel
<=
0
)
return
0
;
if
(
tsFlowCtrl
==
0
)
{
if
(
ts
Enable
FlowCtrl
==
0
)
{
int32_t
ms
=
pow
(
2
,
pVnode
->
flowctrlLevel
+
2
);
int32_t
ms
=
pow
(
2
,
pVnode
->
flowctrlLevel
+
2
);
if
(
ms
>
100
)
ms
=
100
;
if
(
ms
>
100
)
ms
=
100
;
vTrace
(
"vgId:%d, msg:%p, app:%p, perform flowctrl for %d ms"
,
pVnode
->
vgId
,
pWrite
,
pWrite
->
rpcMsg
.
ahandle
,
ms
);
vTrace
(
"vgId:%d, msg:%p, app:%p, perform flowctrl for %d ms"
,
pVnode
->
vgId
,
pWrite
,
pWrite
->
rpcMsg
.
ahandle
,
ms
);
...
...
tests/script/general/db/alter_tables_d2.sim
浏览文件 @
9f4a8ba7
...
@@ -11,11 +11,26 @@ system sh/cfg.sh -n dnode2 -c maxTablesPerVnode -v 5
...
@@ -11,11 +11,26 @@ system sh/cfg.sh -n dnode2 -c maxTablesPerVnode -v 5
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 3000
sql connect
sql connect
sql create dnode $hostname2
sql create dnode $hostname2
sleep 1000
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
print ============================ step1
print ============================ step1
...
@@ -80,10 +95,23 @@ system sh/exec.sh -n dnode1 -s stop -x SIGINT
...
@@ -80,10 +95,23 @@ system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 10
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 10
system sh/cfg.sh -n dnode2 -c maxTablesPerVnode -v 10
system sh/cfg.sh -n dnode2 -c maxTablesPerVnode -v 10
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 5000
$x = 0
step2:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step1
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step2
endi
sql create table db.t100 using db.st tags(0)
sql create table db.t100 using db.st tags(0)
sql create table db.t101 using db.st tags(1)
sql create table db.t101 using db.st tags(1)
...
@@ -110,7 +138,6 @@ if $rows != 40 then
...
@@ -110,7 +138,6 @@ if $rows != 40 then
return -1
return -1
endi
endi
sql insert into db.t100 values(now, 1)
sql insert into db.t100 values(now, 1)
sql insert into db.t101 values(now, 1)
sql insert into db.t101 values(now, 1)
sql insert into db.t102 values(now, 1)
sql insert into db.t102 values(now, 1)
...
@@ -144,10 +171,24 @@ system sh/exec.sh -n dnode1 -s stop -x SIGINT
...
@@ -144,10 +171,24 @@ system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 15
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 15
system sh/cfg.sh -n dnode2 -c maxTablesPerVnode -v 15
system sh/cfg.sh -n dnode2 -c maxTablesPerVnode -v 15
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 5000
$x = 0
step3:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step3
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step3
endi
sql create table db.t200 using db.st tags(0)
sql create table db.t200 using db.st tags(0)
sql create table db.t201 using db.st tags(1)
sql create table db.t201 using db.st tags(1)
...
@@ -198,7 +239,7 @@ sql insert into db.t219 values(now, 1)
...
@@ -198,7 +239,7 @@ sql insert into db.t219 values(now, 1)
print ============================ step6
print ============================ step6
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql select * from db.t000
sql select * from db.t000
if $rows != 1 then
if $rows != 1 then
...
@@ -268,10 +309,23 @@ system sh/exec.sh -n dnode1 -s stop -x SIGINT
...
@@ -268,10 +309,23 @@ system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 20
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 20
system sh/cfg.sh -n dnode2 -c maxTablesPerVnode -v 20
system sh/cfg.sh -n dnode2 -c maxTablesPerVnode -v 20
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 5000
$x = 0
step9:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step9
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step9
endi
sql create table db.t300 using db.st tags(0)
sql create table db.t300 using db.st tags(0)
sql create table db.t301 using db.st tags(1)
sql create table db.t301 using db.st tags(1)
...
@@ -321,7 +375,7 @@ if $rows != 80 then
...
@@ -321,7 +375,7 @@ if $rows != 80 then
endi
endi
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql select * from db.t000
sql select * from db.t000
if $rows != 1 then
if $rows != 1 then
...
@@ -351,13 +405,26 @@ endi
...
@@ -351,13 +405,26 @@ endi
print ============================ step10
print ============================ step10
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 5000
$x = 0
step10:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step10
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step10
endi
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql show db.tables
sql show db.tables
if $rows != 80 then
if $rows != 80 then
...
@@ -401,10 +468,23 @@ system sh/exec.sh -n dnode1 -s stop -x SIGINT
...
@@ -401,10 +468,23 @@ system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 25
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 25
system sh/cfg.sh -n dnode2 -c maxTablesPerVnode -v 25
system sh/cfg.sh -n dnode2 -c maxTablesPerVnode -v 25
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 5000
$x = 0
step1xx:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step1xx
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step1xx
endi
sql create table db.t400 using db.st tags(0)
sql create table db.t400 using db.st tags(0)
sql create table db.t401 using db.st tags(1)
sql create table db.t401 using db.st tags(1)
...
@@ -454,7 +534,7 @@ if $rows != 100 then
...
@@ -454,7 +534,7 @@ if $rows != 100 then
endi
endi
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql select * from db.t000
sql select * from db.t000
if $rows != 1 then
if $rows != 1 then
...
...
tests/script/general/db/alter_tables_v1.sim
浏览文件 @
9f4a8ba7
...
@@ -5,8 +5,6 @@ system sh/cfg.sh -n dnode1 -c maxVgroupsPerDb -v 1
...
@@ -5,8 +5,6 @@ system sh/cfg.sh -n dnode1 -c maxVgroupsPerDb -v 1
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 10
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 10
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
print ============================ step1
print ============================ step1
...
@@ -51,9 +49,22 @@ print ============================ step3
...
@@ -51,9 +49,22 @@ print ============================ step3
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 20
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 20
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5000
$x = 0
step2:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step2
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step2
endi
sql create table db.t10 using db.st tags(0)
sql create table db.t10 using db.st tags(0)
sql create table db.t11 using db.st tags(1)
sql create table db.t11 using db.st tags(1)
...
@@ -91,9 +102,22 @@ endi
...
@@ -91,9 +102,22 @@ endi
print ============================ step5
print ============================ step5
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 30
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 30
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5000
$x = 0
step5:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step5
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step5
endi
sql create table db.t20 using db.st tags(0)
sql create table db.t20 using db.st tags(0)
sql create table db.t21 using db.st tags(1)
sql create table db.t21 using db.st tags(1)
...
@@ -124,7 +148,7 @@ sql insert into db.t29 values(now, 1)
...
@@ -124,7 +148,7 @@ sql insert into db.t29 values(now, 1)
print ============================ step6
print ============================ step6
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql select * from db.t0
sql select * from db.t0
if $rows != 1 then
if $rows != 1 then
...
@@ -148,9 +172,22 @@ endi
...
@@ -148,9 +172,22 @@ endi
print ============================ step7
print ============================ step7
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5000
$x = 0
step7:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step7
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step7
endi
sql reset query cache
sql reset query cache
sleep 1000
sleep 1000
...
@@ -190,9 +227,22 @@ endi
...
@@ -190,9 +227,22 @@ endi
print ============================ step9
print ============================ step9
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 40
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 40
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5000
$x = 0
step9:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step9
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step9
endi
sql create table db.t30 using db.st tags(0)
sql create table db.t30 using db.st tags(0)
sql create table db.t31 using db.st tags(1)
sql create table db.t31 using db.st tags(1)
...
@@ -249,12 +299,24 @@ if $rows != 40 then
...
@@ -249,12 +299,24 @@ if $rows != 40 then
return -1
return -1
endi
endi
print ============================ step10
print ============================ step10
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5000
$x = 0
step10:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step10
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step10
endi
sql reset query cache
sql reset query cache
sleep 1000
sleep 1000
...
@@ -294,9 +356,22 @@ endi
...
@@ -294,9 +356,22 @@ endi
print ============================ step12
print ============================ step12
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 50
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 50
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5000
$x = 0
step12:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step12
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step12
endi
sql create table db.t40 using db.st tags(0)
sql create table db.t40 using db.st tags(0)
sql create table db.t41 using db.st tags(1)
sql create table db.t41 using db.st tags(1)
...
...
tests/script/general/db/alter_tables_v4.sim
浏览文件 @
9f4a8ba7
...
@@ -5,8 +5,6 @@ system sh/cfg.sh -n dnode1 -c maxVgroupsPerDb -v 4
...
@@ -5,8 +5,6 @@ system sh/cfg.sh -n dnode1 -c maxVgroupsPerDb -v 4
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 5
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 5
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
print ============================ step1
print ============================ step1
...
@@ -70,9 +68,22 @@ endi
...
@@ -70,9 +68,22 @@ endi
print ============================ step3
print ============================ step3
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 10
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 10
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5000
$x = 0
step3:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step3
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step3
endi
sql create table db.t100 using db.st tags(0)
sql create table db.t100 using db.st tags(0)
sql create table db.t101 using db.st tags(1)
sql create table db.t101 using db.st tags(1)
...
@@ -131,9 +142,22 @@ endi
...
@@ -131,9 +142,22 @@ endi
print ============================ step5
print ============================ step5
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 15
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 15
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5000
$x = 0
step5:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step5
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step5
endi
sql create table db.t200 using db.st tags(0)
sql create table db.t200 using db.st tags(0)
sql create table db.t201 using db.st tags(1)
sql create table db.t201 using db.st tags(1)
...
@@ -184,7 +208,7 @@ sql insert into db.t219 values(now, 1)
...
@@ -184,7 +208,7 @@ sql insert into db.t219 values(now, 1)
print ============================ step6
print ============================ step6
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql select * from db.t000
sql select * from db.t000
if $rows != 1 then
if $rows != 1 then
...
@@ -250,9 +274,22 @@ endi
...
@@ -250,9 +274,22 @@ endi
print ============================ step9
print ============================ step9
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 20
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 20
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5000
$x = 0
step9:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step9
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step9
endi
sql create table db.t300 using db.st tags(0)
sql create table db.t300 using db.st tags(0)
sql create table db.t301 using db.st tags(1)
sql create table db.t301 using db.st tags(1)
...
@@ -331,9 +368,22 @@ endi
...
@@ -331,9 +368,22 @@ endi
print ============================ step10
print ============================ step10
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5000
$x = 0
step10:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step10
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step10
endi
sql reset query cache
sql reset query cache
sleep 1000
sleep 1000
...
@@ -378,9 +428,24 @@ endi
...
@@ -378,9 +428,24 @@ endi
print ============================ step12
print ============================ step12
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 25
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 25
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5000
$x = 0
step12:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step12
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step12
endi
sql create table db.t400 using db.st tags(0)
sql create table db.t400 using db.st tags(0)
sql create table db.t401 using db.st tags(1)
sql create table db.t401 using db.st tags(1)
sql create table db.t402 using db.st tags(2)
sql create table db.t402 using db.st tags(2)
...
...
tests/script/general/db/delete_reusevnode.sim
浏览文件 @
9f4a8ba7
...
@@ -5,7 +5,6 @@ system sh/deploy.sh -n dnode1 -i 1
...
@@ -5,7 +5,6 @@ system sh/deploy.sh -n dnode1 -i 1
print ========= start dnodes
print ========= start dnodes
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
print ======== step1
print ======== step1
...
@@ -38,7 +37,6 @@ if $rows != 0 then
...
@@ -38,7 +37,6 @@ if $rows != 0 then
endi
endi
system sh/stop_dnodes.sh
system sh/stop_dnodes.sh
sleep 3000
system sh/deploy.sh -n dnode1 -i 1
system sh/deploy.sh -n dnode1 -i 1
print ========= start dnodes
print ========= start dnodes
...
...
tests/script/general/db/delete_writing1.sim
浏览文件 @
9f4a8ba7
...
@@ -22,7 +22,6 @@ system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 4
...
@@ -22,7 +22,6 @@ system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 4
print ========= start dnodes
print ========= start dnodes
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
sql create database db
sql create database db
...
...
tests/script/general/table/delete_writing.sim
浏览文件 @
9f4a8ba7
...
@@ -21,8 +21,6 @@ system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 4
...
@@ -21,8 +21,6 @@ system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 4
print ========= start dnodes
print ========= start dnodes
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
sql create database db
sql create database db
...
...
tests/script/general/wal/sync.sim
浏览文件 @
9f4a8ba7
...
@@ -31,7 +31,6 @@ system sh/cfg.sh -n dnode3 -c maxSQLLength -v 940032
...
@@ -31,7 +31,6 @@ system sh/cfg.sh -n dnode3 -c maxSQLLength -v 940032
print ============== deploy
print ============== deploy
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5001
sql connect
sql connect
sql create dnode $hostname2
sql create dnode $hostname2
...
@@ -43,8 +42,8 @@ print =============== step1
...
@@ -43,8 +42,8 @@ print =============== step1
$x = 0
$x = 0
show1:
show1:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
5
then
if $x ==
10
then
return -1
return -1
endi
endi
sql show mnodes -x show1
sql show mnodes -x show1
...
@@ -82,7 +81,7 @@ restful d1 table_rest 1591772800 30000
...
@@ -82,7 +81,7 @@ restful d1 table_rest 1591772800 30000
restful d1 table_rest 1591872800 30000
restful d1 table_rest 1591872800 30000
restful d1 table_rest 1591972800 30000
restful d1 table_rest 1591972800 30000
sleep 100
0
sleep 100
sql select * from table_rest;
sql select * from table_rest;
print rows: $rows
print rows: $rows
if $rows != 300000 then
if $rows != 300000 then
...
@@ -91,29 +90,51 @@ endi
...
@@ -91,29 +90,51 @@ endi
print =============== step3
print =============== step3
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
sleep 5000
sql select * from table_rest;
sql select * from table_rest;
print rows: $rows
print rows: $rows
if $rows != 300000 then
if $rows != 300000 then
return -1
return -1
endi
endi
system sh/exec.sh -n dnode1 -s start -x SIGINT
system sh/exec.sh -n dnode1 -s start -x SIGINT
sleep 5000
$x = 0
a1:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show vgroups
print online vnodes $data03
if $data03 != 3 then
goto a1
endi
print =============== step4
print =============== step4
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
sql select * from table_rest;
sql select * from table_rest;
print rows: $rows
print rows: $rows
if $rows != 300000 then
if $rows != 300000 then
return -1
return -1
endi
endi
system sh/exec.sh -n dnode2 -s start -x SIGINT
system sh/exec.sh -n dnode2 -s start -x SIGINT
sleep 5000
$x = 0
a2:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show vgroups
print online vnodes $data03
if $data03 != 3 then
goto a2
endi
print =============== step5
print =============== step5
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
sleep 5000
sql select * from table_rest;
sql select * from table_rest;
print rows: $rows
print rows: $rows
if $rows != 300000 then
if $rows != 300000 then
...
...
tests/script/jenkins/basic.txt
浏览文件 @
9f4a8ba7
...
@@ -288,6 +288,7 @@ cd ../../../debug; make
...
@@ -288,6 +288,7 @@ cd ../../../debug; make
./test.sh -f unique/dnode/data1.sim
./test.sh -f unique/dnode/data1.sim
./test.sh -f unique/dnode/offline1.sim
./test.sh -f unique/dnode/offline1.sim
./test.sh -f unique/dnode/offline2.sim
./test.sh -f unique/dnode/offline2.sim
./test.sh -f unique/dnode/offline3.sim
./test.sh -f unique/dnode/reason.sim
./test.sh -f unique/dnode/reason.sim
./test.sh -f unique/dnode/remove1.sim
./test.sh -f unique/dnode/remove1.sim
./test.sh -f unique/dnode/remove2.sim
./test.sh -f unique/dnode/remove2.sim
...
...
tests/script/jenkins/basic_3.txt
浏览文件 @
9f4a8ba7
./test.sh -f unique/stable/balance_replica1.sim
./test.sh -f unique/stable/dnode2_stop.sim
./test.sh -f unique/stable/dnode2.sim
./test.sh -f unique/stable/dnode3.sim
./test.sh -f unique/stable/replica2_dnode4.sim
./test.sh -f unique/stable/replica2_vnode3.sim
./test.sh -f unique/stable/replica3_dnode6.sim
./test.sh -f unique/stable/replica3_vnode3.sim
./test.sh -f unique/mnode/mgmt20.sim
./test.sh -f unique/mnode/mgmt21.sim
./test.sh -f unique/mnode/mgmt22.sim
./test.sh -f unique/mnode/mgmt23.sim
./test.sh -f unique/mnode/mgmt24.sim
#./test.sh -f unique/mnode/mgmt25.sim
#./test.sh -f unique/mnode/mgmt26.sim
./test.sh -f unique/mnode/mgmt33.sim
./test.sh -f unique/mnode/mgmt34.sim
./test.sh -f unique/mnode/mgmtr2.sim
./test.sh -f general/parser/stream_on_sys.sim
./test.sh -f general/stream/metrics_del.sim
./test.sh -f general/stream/metrics_n.sim
./test.sh -f general/stream/metrics_replica1_vnoden.sim
./test.sh -f general/stream/restart_stream.sim
./test.sh -f general/stream/stream_3.sim
./test.sh -f general/stream/stream_restart.sim
./test.sh -f general/stream/table_1.sim
./test.sh -f general/stream/table_del.sim
./test.sh -f general/stream/table_n.sim
./test.sh -f general/stream/table_replica1_vnoden.sim
./test.sh -f unique/arbitrator/check_cluster_cfg_para.sim
./test.sh -f unique/arbitrator/check_cluster_cfg_para.sim
#./test.sh -f unique/arbitrator/dn2_mn1_cache_file_sync.sim
#./test.sh -f unique/arbitrator/dn2_mn1_cache_file_sync.sim
./test.sh -f unique/arbitrator/dn3_mn1_full_createTableFail.sim
./test.sh -f unique/arbitrator/dn3_mn1_full_createTableFail.sim
...
@@ -79,3 +45,35 @@
...
@@ -79,3 +45,35 @@
./test.sh -f unique/migrate/mn2_vn2_repl2_rmMnodeVnodeDir.sim
./test.sh -f unique/migrate/mn2_vn2_repl2_rmMnodeVnodeDir.sim
./test.sh -f unique/migrate/mn2_vn2_repl2_rmMnodeVnodeDir_stopAll_starAll.sim
./test.sh -f unique/migrate/mn2_vn2_repl2_rmMnodeVnodeDir_stopAll_starAll.sim
./test.sh -f unique/migrate/mn2_vn2_repl2_rmVnodeDir.sim
./test.sh -f unique/migrate/mn2_vn2_repl2_rmVnodeDir.sim
./test.sh -f unique/stable/balance_replica1.sim
./test.sh -f unique/stable/dnode2_stop.sim
./test.sh -f unique/stable/dnode2.sim
./test.sh -f unique/stable/dnode3.sim
./test.sh -f unique/stable/replica2_dnode4.sim
./test.sh -f unique/stable/replica2_vnode3.sim
./test.sh -f unique/stable/replica3_dnode6.sim
./test.sh -f unique/stable/replica3_vnode3.sim
./test.sh -f unique/mnode/mgmt20.sim
./test.sh -f unique/mnode/mgmt21.sim
./test.sh -f unique/mnode/mgmt22.sim
./test.sh -f unique/mnode/mgmt23.sim
./test.sh -f unique/mnode/mgmt24.sim
#./test.sh -f unique/mnode/mgmt25.sim
#./test.sh -f unique/mnode/mgmt26.sim
./test.sh -f unique/mnode/mgmt33.sim
./test.sh -f unique/mnode/mgmt34.sim
./test.sh -f unique/mnode/mgmtr2.sim
./test.sh -f general/parser/stream_on_sys.sim
./test.sh -f general/stream/metrics_del.sim
./test.sh -f general/stream/metrics_n.sim
./test.sh -f general/stream/metrics_replica1_vnoden.sim
./test.sh -f general/stream/restart_stream.sim
./test.sh -f general/stream/stream_3.sim
./test.sh -f general/stream/stream_restart.sim
./test.sh -f general/stream/table_1.sim
./test.sh -f general/stream/table_del.sim
./test.sh -f general/stream/table_n.sim
./test.sh -f general/stream/table_replica1_vnoden.sim
tests/script/jenkins/unique.txt
浏览文件 @
9f4a8ba7
...
@@ -31,6 +31,8 @@ cd ../../../debug; make
...
@@ -31,6 +31,8 @@ cd ../../../debug; make
./test.sh -f unique/dnode/balancex.sim
./test.sh -f unique/dnode/balancex.sim
./test.sh -f unique/dnode/offline1.sim
./test.sh -f unique/dnode/offline1.sim
./test.sh -f unique/dnode/offline2.sim
./test.sh -f unique/dnode/offline2.sim
./test.sh -f unique/dnode/offline3.sim
./test.sh -f unique/dnode/reason.sim
./test.sh -f unique/dnode/remove1.sim
./test.sh -f unique/dnode/remove1.sim
./test.sh -f unique/dnode/remove2.sim
./test.sh -f unique/dnode/remove2.sim
./test.sh -f unique/dnode/vnode_clean.sim
./test.sh -f unique/dnode/vnode_clean.sim
...
...
tests/script/sh/deploy.sh
浏览文件 @
9f4a8ba7
...
@@ -132,10 +132,12 @@ echo "cqdebugFlag 143" >> $TAOS_CFG
...
@@ -132,10 +132,12 @@ echo "cqdebugFlag 143" >> $TAOS_CFG
echo
"monitor 0"
>>
$TAOS_CFG
echo
"monitor 0"
>>
$TAOS_CFG
echo
"monitorInterval 1"
>>
$TAOS_CFG
echo
"monitorInterval 1"
>>
$TAOS_CFG
echo
"http 0"
>>
$TAOS_CFG
echo
"http 0"
>>
$TAOS_CFG
echo
"slaveQuery 0"
>>
$TAOS_CFG
echo
"numOfThreadsPerCore 2.0"
>>
$TAOS_CFG
echo
"numOfThreadsPerCore 2.0"
>>
$TAOS_CFG
echo
"defaultPass taosdata"
>>
$TAOS_CFG
echo
"defaultPass taosdata"
>>
$TAOS_CFG
echo
"numOfLogLines 20000000"
>>
$TAOS_CFG
echo
"numOfLogLines 20000000"
>>
$TAOS_CFG
echo
"mnodeEqualVnodeNum 0"
>>
$TAOS_CFG
echo
"mnodeEqualVnodeNum 0"
>>
$TAOS_CFG
echo
"balanceInterval 1"
>>
$TAOS_CFG
echo
"clog 2"
>>
$TAOS_CFG
echo
"clog 2"
>>
$TAOS_CFG
#echo "cache 1" >> $TAOS_CFG
#echo "cache 1" >> $TAOS_CFG
echo
"days 10"
>>
$TAOS_CFG
echo
"days 10"
>>
$TAOS_CFG
...
...
tests/script/unique/arbitrator/dn3_mn1_r3_vnode_delDir.sim
浏览文件 @
9f4a8ba7
...
@@ -360,12 +360,14 @@ print ============== step7: stop dnode3/dnode2, and cluster unable to provide se
...
@@ -360,12 +360,14 @@ print ============== step7: stop dnode3/dnode2, and cluster unable to provide se
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
sleep 3000
sleep 3000
sql_error select count(*) from $stb
sql select count(*) from $stb -x s71
s71:
print ============== step8: restart dnode2, and cluster Still unable to provide services
print ============== step8: restart dnode2, and cluster Still unable to provide services
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 3000
sleep 3000
sql_error select count(*) from $stb
sql select count(*) from $stb -x s81
s81:
print ============== step9: restart dnode3, and cluster Resume service delivery
print ============== step9: restart dnode3, and cluster Resume service delivery
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
...
...
tests/script/unique/arbitrator/dn3_mn1_replica_change.sim
浏览文件 @
9f4a8ba7
...
@@ -45,15 +45,30 @@ system sh/exec_tarbitrator.sh -s start
...
@@ -45,15 +45,30 @@ system sh/exec_tarbitrator.sh -s start
print ============== step1: start dnode1, only deploy mnode
print ============== step1: start dnode1, only deploy mnode
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
print ============== step2: start dnode2 and add into cluster , then create database with replica 1, and create table, insert data
print ============== step2: start dnode2 and add into cluster , then create database with replica 1, and create table, insert data
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sql create dnode $hostname2
sql create dnode $hostname2
sleep 3000
$sleepTimer = 10000
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
$db = db
$db = db
sql create database $db replica 1
sql create database $db replica 1
...
@@ -84,7 +99,6 @@ while $i < $tblNum
...
@@ -84,7 +99,6 @@ while $i < $tblNum
endw
endw
sql select count(*) from $stb
sql select count(*) from $stb
sleep 1000
print data00 $data00
print data00 $data00
if $data00 != $totalRows then
if $data00 != $totalRows then
return -1
return -1
...
@@ -92,118 +106,65 @@ endi
...
@@ -92,118 +106,65 @@ endi
print ============== step2-1: stop dnode2 for falling disc, then restart dnode2, and check rows
print ============== step2-1: stop dnode2 for falling disc, then restart dnode2, and check rows
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep $sleepTimer
$loopCnt = 0
wait_dnode2_offline_0:
$loopCnt = $loopCnt + 1
if $loopCnt == 10 then
return -1
endi
sql show dnodes
if $rows != 2 then
sleep 2000
goto wait_dnode2_offline_0
endi
print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3
#print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4
#print $data0_5 $data1_5 $data2_5 $data3_5 $data4_5
#print $data0_6 $data1_6 $data2_6 $data3_6 $data4_6
#$dnode1Status = $data4_1
$dnode2Status = $data4_2
#$dnode3Status = $data4_3
#$dnode4Status = $data4_4
#$dnode5Status = $data4_5
if $dnode2Status != offline then
sleep 2000
goto wait_dnode2_offline_0
endi
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep $sleepTimer
$x = 0
a0:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
$loopCnt = 0
sql show vgroups
wait_dnode2_reready:
print online vnodes $data03
$loopCnt = $loopCnt + 1
if $data03 != 1 then
if $loopCnt == 10 then
goto a0
return -1
endi
sql show dnodes
if $rows != 2 then
sleep 2000
goto wait_dnode2_reready
endi
print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3
#print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4
#print $data0_5 $data1_5 $data2_5 $data3_5 $data4_5
#print $data0_6 $data1_6 $data2_6 $data3_6 $data4_6
#$dnode1Status = $data4_1
$dnode2Status = $data4_2
#$dnode3Status = $data4_3
#$dnode4Status = $data4_4
#$dnode5Status = $data4_5
if $dnode2Status != ready then
sleep 2000
goto wait_dnode2_reready
endi
endi
sql select count(*) from $stb
sql select count(*) from $stb
sleep 1000
print data00 $data00
print data00 $data00
if $data00 != $totalRows then
if $data00 != $totalRows then
return -1
return -1
endi
endi
print ============== step3: start dnode3 and add into cluster , then alter replica from 1 to 2, and waiting sync
print ============== step3: start dnode3 and add into cluster , then alter replica from 1 to 2, and waiting sync
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sql create dnode $hostname3
sql create dnode $hostname3
sleep 3000
sql alter database $db replica 2
$x = 0
sleep $sleepTimer
step2:
$loopCnt = 0
$x = $x + 1
wait_dnode3_ready:
sleep 1000
$loopCnt = $loopCnt + 1
if $x == 40 then
if $loopCnt == 10 then
return -1
return -1
endi
endi
sql show dnodes
sql show dnodes
if $rows != 3 then
print dnode1 $data4_1
sleep 2000
print dnode2 $data4_2
goto wait_dnode3_ready
print dnode3 $data4_3
endi
print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1
if $data4_3 != ready then
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2
goto step2
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3
#print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4
#print $data0_5 $data1_5 $data2_5 $data3_5 $data4_5
#print $data0_6 $data1_6 $data2_6 $data3_6 $data4_6
#$dnode1Status = $data4_1
$dnode2Status = $data4_2
$dnode3Status = $data4_3
#$dnode4Status = $data4_4
#$dnode5Status = $data4_5
if $dnode2Status != ready then
sleep 2000
goto wait_dnode3_ready
endi
endi
if $dnode3Status != ready then
sleep 2000
sql alter database $db replica 2
goto wait_dnode3_ready
$x = 0
a1:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show vgroups
print online vnodes $data03
if $data03 != 2 then
goto a1
endi
endi
sleep $sleepTimer
# check using select
# check using select
sql select count(*) from $stb
sql select count(*) from $stb
print data00 $data00
print data00 $data00
...
@@ -211,44 +172,22 @@ if $data00 != $totalRows then
...
@@ -211,44 +172,22 @@ if $data00 != $totalRows then
return -1
return -1
endi
endi
print ============== step4: stop dnode2 for checking if sync ok
print ============== step4: stop dnode2 for checking if sync ok
system sh/exec.sh -n dnode2 -s stop
system sh/exec.sh -n dnode2 -s stop
sleep $sleepTimer
$x = 0
$loopCnt = 0
a2:
wait_dnode2_offline:
$x = $x + 1
$loopCnt = $loopCnt + 1
sleep 1000
if $loopCnt == 10 then
if $x == 40 then
return -1
return -1
endi
endi
sql show dnodes
sql show vgroups
if $rows != 3 then
print online vnodes $data03
sleep 2000
if $data03 != 1 then
goto wait_dnode2_offline
goto a2
endi
print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3
#print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4
#print $data0_5 $data1_5 $data2_5 $data3_5 $data4_5
#print $data0_6 $data1_6 $data2_6 $data3_6 $data4_6
#$dnode1Status = $data4_1
$dnode2Status = $data4_2
$dnode3Status = $data4_3
#$dnode4Status = $data4_4
#$dnode5Status = $data4_5
if $dnode2Status != offline then
sleep 2000
goto wait_dnode2_offline
endi
if $dnode3Status != ready then
sleep 2000
goto wait_dnode2_offline
endi
endi
sleep $sleepTimer # waitting for move master vnode of dnode2 to dnode3
# check using select
# check using select
sql select count(*) from $stb
sql select count(*) from $stb
print data00 $data00
print data00 $data00
...
@@ -258,38 +197,20 @@ endi
...
@@ -258,38 +197,20 @@ endi
print ============== step5: restart dnode2
print ============== step5: restart dnode2
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 3000
$x = 0
a3:
$loopCnt = 0
$x = $x + 1
wait_dnode2_ready:
sleep 1000
$loopCnt = $loopCnt + 1
if $x == 40 then
if $loopCnt == 10 then
return -1
return -1
endi
endi
sql show dnodes
sql show vgroups
if $rows != 3 then
print online vnodes $data03
sleep 2000
if $data03 != 2 then
goto wait_dnode2_ready
goto a3
endi
print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3
#print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4
#print $data0_5 $data1_5 $data2_5 $data3_5 $data4_5
#print $data0_6 $data1_6 $data2_6 $data3_6 $data4_6
#$dnode1Status = $data4_1
$dnode2Status = $data4_2
$dnode3Status = $data4_3
#$dnode4Status = $data4_4
#$dnode5Status = $data4_5
if $dnode2Status != ready then
sleep 2000
goto wait_dnode2_ready
endi
endi
sleep $sleepTimer
# check using select
# check using select
sql select count(*) from $stb
sql select count(*) from $stb
print data00 $data00
print data00 $data00
...
@@ -300,40 +221,39 @@ endi
...
@@ -300,40 +221,39 @@ endi
print ============== step6: start dnode4 and add into cluster , then alter replica from 2 to 3, and waiting sync
print ============== step6: start dnode4 and add into cluster , then alter replica from 2 to 3, and waiting sync
system sh/exec.sh -n dnode4 -s start
system sh/exec.sh -n dnode4 -s start
sql create dnode $hostname4
sql create dnode $hostname4
sleep 3000
$x = 0
step6:
sql alter database $db replica 3
$x = $x + 1
sleep $sleepTimer
sleep 1000
$loopCnt = 0
if $x == 10 then
wait_dnode4_ready:
return -1
$loopCnt = $loopCnt + 1
endi
if $loopCnt == 10 then
return -1
endi
sql show dnodes
sql show dnodes
if $rows != 4 then
print dnode1 $data4_1
sleep 2000
print dnode2 $data4_2
goto wait_dnode4_ready
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_4 != ready then
goto step6
endi
endi
print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2
sql alter database $db replica 3
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3
$x = 0
print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4
a4:
#print $data0_5 $data1_5 $data2_5 $data3_5 $data4_5
$x = $x + 1
#print $data0_6 $data1_6 $data2_6 $data3_6 $data4_6
sleep 1000
#$dnode1Status = $data4_1
if $x == 40 then
#$dnode2Status = $data4_2
return -1
$dnode3Status = $data4_3
endi
$dnode4Status = $data4_4
#$dnode5Status = $data4_5
sql show vgroups
print online vnodes $data03
if $dnode4Status != ready then
if $data03 != 3 then
sleep 2000
goto a4
goto wait_dnode4_ready
endi
endi
sleep $sleepTimer
# check using select
# check using select
sql select count(*) from $stb
sql select count(*) from $stb
print data00 $data00
print data00 $data00
...
@@ -343,44 +263,20 @@ endi
...
@@ -343,44 +263,20 @@ endi
print ============== step7: alter replica from 3 to 2, and waiting sync
print ============== step7: alter replica from 3 to 2, and waiting sync
sql alter database $db replica 2
sql alter database $db replica 2
sleep $sleepTimer
$x = 0
$loopCnt = 0
a5:
wait_vgroups_replic_to_2:
$x = $x + 1
$loopCnt = $loopCnt + 1
sleep 1000
if $loopCnt == 10 then
if $x == 40 then
return -1
return -1
endi
endi
sql show vgroups
sql show vgroups
print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 $data5_1 $data6_1 $data7_1 $data8_1 $data9_1 $data10_1
print online vnodes $data03
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 $data5_2 $data6_2 $data7_2 $data8_2 $data9_2 $data10_2
if $data03 != 2 then
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 $data5_3 $data6_3 $data7_3 $data8_3 $data9_3 $data10_3
goto a5
print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4 $data5_4 $data6_4 $data7_4 $data8_4 $data9_4 $data10_4
#print $data0_5 $data1_5 $data2_5 $data3_5 $data4_5
#print $data0_6 $data1_6 $data2_6 $data3_6 $data4_6
$thirdDnode_2 = $data8_1
$thirdDnode_3 = $data8_2
$thirdDnode_4 = $data8_3
$thirdDnode_5 = $data8_4
if $thirdDnode_2 != null then
sleep 2000
goto wait_vgroups_replic_to_2
endi
if $thirdDnode_3 != null then
sleep 2000
goto wait_vgroups_replic_to_2
endi
if $thirdDnode_4 != null then
sleep 2000
goto wait_vgroups_replic_to_2
endi
if $thirdDnode_5 != null then
sleep 2000
goto wait_vgroups_replic_to_2
endi
endi
sleep $sleepTimer #waiting del one replica data
# check using select
# check using select
sql select count(*) from $stb
sql select count(*) from $stb
print data00 $data00
print data00 $data00
...
@@ -390,85 +286,20 @@ endi
...
@@ -390,85 +286,20 @@ endi
print ============== step8: alter replica from 2 to 1, and waiting sync
print ============== step8: alter replica from 2 to 1, and waiting sync
sql alter database $db replica 1
sql alter database $db replica 1
sleep $sleepTimer
$x = 0
$loopCnt = 0
a6:
wait_vgroups_replic_to_1:
$x = $x + 1
$loopCnt = $loopCnt + 1
sleep 1000
if $loopCnt == 10 then
if $x == 40 then
return -1
return -1
endi
endi
sql show vgroups
sql show vgroups
print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 $data5_1 $data6_1 $data7_1 $data8_1
print online vnodes $data03
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 $data5_2 $data6_2 $data7_2 $data8_2
if $data03 != 1 then
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 $data5_3 $data6_3 $data7_3 $data8_3
goto a6
print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4 $data5_4 $data6_4 $data7_4 $data8_4
#print $data0_5 $data1_5 $data2_5 $data3_5 $data4_5
#print $data0_6 $data1_6 $data2_6 $data3_6 $data4_6
$sencodDnode_2 = $data6_1
$sencodDnode_3 = $data6_2
$sencodDnode_4 = $data6_3
$sencodDnode_5 = $data6_4
if $sencodDnode_2 != null then
sleep 2000
goto wait_vgroups_replic_to_1
endi
if $sencodDnode_3 != null then
sleep 2000
goto wait_vgroups_replic_to_1
endi
if $sencodDnode_4 != null then
sleep 2000
goto wait_vgroups_replic_to_1
endi
if $sencodDnode_5 != null then
sleep 2000
goto wait_vgroups_replic_to_1
endi
$loopCnt = 0
all_dnodes_ready:
$loopCnt = $loopCnt + 1
if $loopCnt == 10 then
return -1
endi
endi
sql show dnodes
if $rows != 4 then
sleep 2000
goto all_dnodes_ready
endi
print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3
print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4
#print $data0_5 $data1_5 $data2_5 $data3_5 $data4_5
#print $data0_6 $data1_6 $data2_6 $data3_6 $data4_6
$dnode1Status = $data4_1
$dnode2Status = $data4_2
$dnode3Status = $data4_3
$dnode4Status = $data4_4
#$dnode5Status = $data4_5
if $dnode1Status != ready then
sleep 2000
goto all_dnodes_ready
endi
if $dnode2Status != ready then
sleep 2000
goto all_dnodes_ready
endi
if $dnode3Status != ready then
sleep 2000
goto all_dnodes_ready
endi
if $dnode4Status != ready then
sleep 2000
goto all_dnodes_ready
endi
sleep $sleepTimer #waiting del one replica data
# check using select
# check using select
sql select count(*) from $stb
sql select count(*) from $stb
print data00 $data00
print data00 $data00
...
@@ -481,39 +312,31 @@ sql drop dnode $hostname2
...
@@ -481,39 +312,31 @@ sql drop dnode $hostname2
sql drop dnode $hostname3
sql drop dnode $hostname3
sleep $sleepTimer
sleep $sleepTimer
$loopCnt = 0
$x = 0
wait_dnode23_dropped:
step9:
$loopCnt = $loopCnt + 1
$x = $x + 1
if $loopCnt == 10 then
sleep 1000
return -1
if $x == 40 then
endi
return -1
endi
sql show dnodes
sql show dnodes
if $rows != 2 then
if $rows != 2 then
sleep 2000
goto step9
goto wait_dnode23_dropped
endi
print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3
print $data0_4 $data1_4 $data2_4 $data3_4 $data4_4
#print $data0_5 $data1_5 $data2_5 $data3_5 $data4_5
#print $data0_6 $data1_6 $data2_6 $data3_6 $data4_6
$dnode1Status = $data4_1
$dnode2Status = $data4_2
$dnode3Status = $data4_3
$dnode4Status = $data4_4
if $dnode2Status != null then
sleep 2000
goto wait_dnode23_dropped
endi
if $dnode3Status != null then
sleep 2000
goto wait_dnode23_dropped
endi
endi
if $dnode4Status != ready then
return -1
$x = 0
a7:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show vgroups
print online vnodes $data03
if $data03 != 1 then
goto a7
endi
endi
sleep $sleepTimer #waiting move vnode from dnode3/dnode3 to dnode4
sleep $sleepTimer #waiting move vnode from dnode3/dnode3 to dnode4
...
@@ -523,3 +346,13 @@ print data00 $data00
...
@@ -523,3 +346,13 @@ print data00 $data00
if $data00 != $totalRows then
if $data00 != $totalRows then
return -1
return -1
endi
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode4 -s stop -x SIGINT
system sh/exec.sh -n dnode5 -s stop -x SIGINT
system sh/exec.sh -n dnode6 -s stop -x SIGINT
system sh/exec.sh -n dnode7 -s stop -x SIGINT
system sh/exec.sh -n dnode8 -s stop -x SIGINT
tests/script/unique/arbitrator/dn3_mn1_replica_change_dropDnod.sim
浏览文件 @
9f4a8ba7
...
@@ -140,3 +140,11 @@ if $data00 != $totalRows then
...
@@ -140,3 +140,11 @@ if $data00 != $totalRows then
return -1
return -1
endi
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode4 -s stop -x SIGINT
system sh/exec.sh -n dnode5 -s stop -x SIGINT
system sh/exec.sh -n dnode6 -s stop -x SIGINT
system sh/exec.sh -n dnode7 -s stop -x SIGINT
system sh/exec.sh -n dnode8 -s stop -x SIGINT
tests/script/unique/arbitrator/dn3_mn1_vnode_nomaster.sim
浏览文件 @
9f4a8ba7
...
@@ -158,13 +158,15 @@ if $dnode4Vtatus != offline then
...
@@ -158,13 +158,15 @@ if $dnode4Vtatus != offline then
sleep 2000
sleep 2000
goto wait_dnode4_vgroup_offline
goto wait_dnode4_vgroup_offline
endi
endi
if $dnode3Vtatus !=
unsynced
then
if $dnode3Vtatus !=
master
then
sleep 2000
sleep 2000
goto wait_dnode4_vgroup_offline
goto wait_dnode4_vgroup_offline
endi
endi
sql_error select count(*) from $stb
sql select count(*) from $stb -x s31
sql_error insert into $tb values (now, 9988)
s31:
#sql_error insert into $tb values (now, 9988) -x s32
#s32:
print ============== step4: restart dnode2, then create database with replica 2, and create table, insert data
print ============== step4: restart dnode2, then create database with replica 2, and create table, insert data
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
...
...
tests/script/unique/arbitrator/sync_replica3_alterTable_add.sim
浏览文件 @
9f4a8ba7
...
@@ -140,11 +140,9 @@ if $rows != 1 then
...
@@ -140,11 +140,9 @@ if $rows != 1 then
goto wait_dnode4_vgroup_offline
goto wait_dnode4_vgroup_offline
endi
endi
print show vgroups:
print show vgroups:
print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 $data5_1 $data6_1 $data7_1 $data8_1 $data9_1
print $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 $data5_2 $data6_2 $data7_2 $data8_2 $data9_2
$dnode4Vtatus = $data05
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 $data5_3 $data6_3 $data7_3 $data8_3 $data9_3
$dnode3Vtatus = $data07
$dnode4Vtatus = $data5_2
$dnode3Vtatus = $data7_2
if $dnode4Vtatus != offline then
if $dnode4Vtatus != offline then
sleep 2000
sleep 2000
...
@@ -198,7 +196,3 @@ if $data00 != $totalRows then
...
@@ -198,7 +196,3 @@ if $data00 != $totalRows then
sleep 2000
sleep 2000
goto wait_table_altered
goto wait_table_altered
endi
endi
tests/script/unique/arbitrator/sync_replica_alterTable_background_add.sim
浏览文件 @
9f4a8ba7
...
@@ -14,6 +14,9 @@ sql alter table $stb add column f1 float
...
@@ -14,6 +14,9 @@ sql alter table $stb add column f1 float
$tblNum = $totalTableNum
$tblNum = $totalTableNum
$alterTblNum = 10
$alterTblNum = 10
sql reset query cache
sleep 100
$i = 1
$i = 1
while $i < $alterTblNum
while $i < $alterTblNum
$tb = tb . $i
$tb = tb . $i
...
...
tests/script/unique/big/balance.sim
浏览文件 @
9f4a8ba7
...
@@ -21,7 +21,6 @@ system sh/cfg.sh -n dnode5 -c maxTablesPerVnode -v 1000
...
@@ -21,7 +21,6 @@ system sh/cfg.sh -n dnode5 -c maxTablesPerVnode -v 1000
print =============== prepare data
print =============== prepare data
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
$i = 0
$i = 0
...
@@ -92,8 +91,8 @@ system sh/exec.sh -n dnode2 -s start
...
@@ -92,8 +91,8 @@ system sh/exec.sh -n dnode2 -s start
$x = 0
$x = 0
show1:
show1:
$x = $x + 1
$x = $x + 1
sleep
3
000
sleep
1
000
if $x ==
1
0 then
if $x ==
3
0 then
return -1
return -1
endi
endi
...
@@ -108,7 +107,7 @@ if $data2_2 != 2 then
...
@@ -108,7 +107,7 @@ if $data2_2 != 2 then
endi
endi
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql select count(*) from t10
sql select count(*) from t10
print select count(*) from t10 $data00 expect $rowNum
print select count(*) from t10 $data00 expect $rowNum
...
@@ -143,7 +142,6 @@ endi
...
@@ -143,7 +142,6 @@ endi
print ========== step2
print ========== step2
sql create dnode $hostname3
sql create dnode $hostname3
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 10000
print ========== step3
print ========== step3
sql drop dnode $hostname2
sql drop dnode $hostname2
...
@@ -151,8 +149,8 @@ sql drop dnode $hostname2
...
@@ -151,8 +149,8 @@ sql drop dnode $hostname2
$x = 0
$x = 0
show3:
show3:
$x = $x + 1
$x = $x + 1
sleep
3
000
sleep
1
000
if $x ==
1
0 then
if $x ==
3
0 then
return -1
return -1
endi
endi
...
@@ -171,10 +169,9 @@ if $data2_3 != 2 then
...
@@ -171,10 +169,9 @@ if $data2_3 != 2 then
endi
endi
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql select count(*) from t10
sql select count(*) from t10
print select count(*) from t10 $data00 expect $rowNum
print select count(*) from t10 $data00 expect $rowNum
...
@@ -212,8 +209,8 @@ sql drop dnode $hostname3
...
@@ -212,8 +209,8 @@ sql drop dnode $hostname3
$x = 0
$x = 0
show4:
show4:
$x = $x + 1
$x = $x + 1
sleep
3
000
sleep
1
000
if $x ==
1
0 then
if $x ==
3
0 then
return -1
return -1
endi
endi
...
@@ -228,10 +225,9 @@ if $data2_3 != null then
...
@@ -228,10 +225,9 @@ if $data2_3 != null then
endi
endi
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
sleep 5000
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql select count(*) from t10
sql select count(*) from t10
print select count(*) from t10 $data00 expect $rowNum
print select count(*) from t10 $data00 expect $rowNum
...
@@ -267,14 +263,31 @@ print ========== step5
...
@@ -267,14 +263,31 @@ print ========== step5
system sh/exec.sh -n dnode4 -s start
system sh/exec.sh -n dnode4 -s start
sql create dnode $hostname4
sql create dnode $hostname4
sleep 3000
$x = 0
step5:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_4 != ready then
goto step5
endi
sql alter database db replica 2
sql alter database db replica 2
$x = 0
$x = 0
show5:
show5:
$x = $x + 1
$x = $x + 1
sleep
3
000
sleep
1
000
if $x ==
1
0 then
if $x ==
3
0 then
return -1
return -1
endi
endi
...
@@ -289,7 +302,7 @@ if $data2_4 != 4 then
...
@@ -289,7 +302,7 @@ if $data2_4 != 4 then
endi
endi
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql select count(*) from t10
sql select count(*) from t10
print select count(*) from t10 $data00 expect $rowNum
print select count(*) from t10 $data00 expect $rowNum
...
@@ -321,16 +334,14 @@ if $data00 != $totalNum then
...
@@ -321,16 +334,14 @@ if $data00 != $totalNum then
goto show5
goto show5
endi
endi
print ========== step6
print ========== step6
sleep 3000
sql alter database db replica 1
sql alter database db replica 1
$x = 0
$x = 0
show6:
show6:
$x = $x + 1
$x = $x + 1
sleep
3
000
sleep
1
000
if $x ==
1
0 then
if $x ==
3
0 then
return -1
return -1
endi
endi
...
@@ -345,7 +356,7 @@ if $data2_4 != 2 then
...
@@ -345,7 +356,7 @@ if $data2_4 != 2 then
endi
endi
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql select count(*) from t10
sql select count(*) from t10
print select count(*) from t10 $data00 expect $rowNum
print select count(*) from t10 $data00 expect $rowNum
...
...
tests/script/unique/big/tcp.sim
浏览文件 @
9f4a8ba7
...
@@ -15,7 +15,6 @@ system sh/cfg.sh -n dnode1 -c httpDebugFlag -v 135
...
@@ -15,7 +15,6 @@ system sh/cfg.sh -n dnode1 -c httpDebugFlag -v 135
system sh/cfg.sh -n dnode1 -c debugFlag -v 131
system sh/cfg.sh -n dnode1 -c debugFlag -v 131
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
print ======================== dnode1 start
print ======================== dnode1 start
...
@@ -52,7 +51,7 @@ while $i < $tbNum
...
@@ -52,7 +51,7 @@ while $i < $tbNum
endw
endw
$i = 0
$i = 0
while $i <
10
while $i <
5
print =============== step3 $i
print =============== step3 $i
sql select count(*) from $mt
sql select count(*) from $mt
print ===> $data00 $data01
print ===> $data00 $data01
...
@@ -83,7 +82,7 @@ while $i < $tbNum
...
@@ -83,7 +82,7 @@ while $i < $tbNum
endw
endw
$i = 0
$i = 0
while $i <
10
while $i <
5
print =============== step5 $i
print =============== step5 $i
sql select count(*) from $mt where tgcol < 20200
sql select count(*) from $mt where tgcol < 20200
print ===> $data00 $data01
print ===> $data00 $data01
...
...
tests/script/unique/cluster/balance1.sim
浏览文件 @
9f4a8ba7
...
@@ -84,16 +84,14 @@ endi
...
@@ -84,16 +84,14 @@ endi
print ============================== step2
print ============================== step2
print ========= start dnode2
print ========= start dnode2
sleep 2000
sql create dnode $hostname2
sql create dnode $hostname2
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 5000
$x = 0
$x = 0
show2:
show2:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
2
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show dnodes -x show2
sql show dnodes -x show2
...
@@ -129,13 +127,12 @@ sql insert into c_b1_t3 values(1520000024031, 31)
...
@@ -129,13 +127,12 @@ sql insert into c_b1_t3 values(1520000024031, 31)
print ============================== step4
print ============================== step4
print ========= drop dnode2
print ========= drop dnode2
sql drop dnode $hostname2
sql drop dnode $hostname2
sleep 9000
$x = 0
$x = 0
show4:
show4:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
2
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show dnodes -x show4
sql show dnodes -x show4
...
@@ -164,16 +161,14 @@ print dnode4 ==> $dnode4Role
...
@@ -164,16 +161,14 @@ print dnode4 ==> $dnode4Role
print ============================== step5
print ============================== step5
print ========= add dnode2
print ========= add dnode2
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sql create dnode $hostname3
sql create dnode $hostname3
sleep 9000
$x = 0
$x = 0
show5:
show5:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
2
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show dnodes -x show5
sql show dnodes -x show5
...
@@ -212,13 +207,12 @@ sql_error create dnode $hostname1
...
@@ -212,13 +207,12 @@ sql_error create dnode $hostname1
print ============================== step8
print ============================== step8
sql drop dnode $hostname3
sql drop dnode $hostname3
sleep 15000
$x = 0
$x = 0
show8:
show8:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
3
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show dnodes -x show8
sql show dnodes -x show8
...
@@ -253,13 +247,12 @@ endi
...
@@ -253,13 +247,12 @@ endi
print ============================== step9
print ============================== step9
sql create dnode $hostname4
sql create dnode $hostname4
system sh/exec.sh -n dnode4 -s start
system sh/exec.sh -n dnode4 -s start
sleep 9000
$x = 0
$x = 0
show9:
show9:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
3
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show dnodes -x show9
sql show dnodes -x show9
...
@@ -302,8 +295,8 @@ sql insert into c_b1_t4 values(1520000024041, 41)
...
@@ -302,8 +295,8 @@ sql insert into c_b1_t4 values(1520000024041, 41)
$x = 0
$x = 0
show10:
show10:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
3
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show dnodes -x show10
sql show dnodes -x show10
...
@@ -335,7 +328,23 @@ sql_error create table c_b1_t5 (t timestamp, i int) -x error3
...
@@ -335,7 +328,23 @@ sql_error create table c_b1_t5 (t timestamp, i int) -x error3
print ============================== step13
print ============================== step13
sql create dnode $hostname5
sql create dnode $hostname5
system sh/exec.sh -n dnode5 -s start
system sh/exec.sh -n dnode5 -s start
sleep 9000
$x = 0
step13:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
print dnode4 $data4_5
if $data4_5 != ready then
goto step13
endi
sql show mnodes
sql show mnodes
$dnode1Role = $data2_1
$dnode1Role = $data2_1
...
@@ -383,7 +392,23 @@ endi
...
@@ -383,7 +392,23 @@ endi
print ============================== step14
print ============================== step14
sql create dnode $hostname6
sql create dnode $hostname6
system sh/exec.sh -n dnode6 -s start
system sh/exec.sh -n dnode6 -s start
sleep 15000
$x = 0
step14:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
print dnode4 $data4_5
if $data4_6 != ready then
goto step14
endi
sql create database c_b1_d7
sql create database c_b1_d7
sql use c_b1_d7
sql use c_b1_d7
...
@@ -406,7 +431,7 @@ sql insert into c_b1_t8 values(1520000024081, 81)
...
@@ -406,7 +431,7 @@ sql insert into c_b1_t8 values(1520000024081, 81)
$x = 0
$x = 0
show14:
show14:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x == 30 then
if $x == 30 then
return -1
return -1
endi
endi
...
@@ -440,7 +465,7 @@ print ============================== step17
...
@@ -440,7 +465,7 @@ print ============================== step17
print ========= check data
print ========= check data
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql use c_b1_d1
sql use c_b1_d1
sql select * from c_b1_d1.c_b1_t1
sql select * from c_b1_d1.c_b1_t1
...
...
tests/script/unique/cluster/balance2.sim
浏览文件 @
9f4a8ba7
...
@@ -50,12 +50,48 @@ print ========= start dnode1
...
@@ -50,12 +50,48 @@ print ========= start dnode1
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sql connect
sql connect
sleep 4001
sql create dnode $hostname2
sql create dnode $hostname2
sql create dnode $hostname3
sql create dnode $hostname3
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 4001
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
sql show mnodes
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step1
endi
if $data2_2 != slave then
goto step1
endi
if $data2_3 != slave then
goto step1
endi
sql create database c_b2_d1 replica 2
sql create database c_b2_d1 replica 2
sql use c_b2_d1
sql use c_b2_d1
...
@@ -112,13 +148,12 @@ endi
...
@@ -112,13 +148,12 @@ endi
print ============================== step2
print ============================== step2
print ========= drop dnode2
print ========= drop dnode2
sql drop dnode $hostname2
sql drop dnode $hostname2
sleep 9000
$x = 0
$x = 0
show2:
show2:
$x = $x + 1
$x = $x + 1
sleep
3
000
sleep
1
000
if $x ==
2
0 then
if $x ==
3
0 then
return -1
return -1
endi
endi
sql show dnodes -x show2
sql show dnodes -x show2
...
@@ -155,13 +190,12 @@ print ============================== step3
...
@@ -155,13 +190,12 @@ print ============================== step3
print ========= start dnode4
print ========= start dnode4
sql create dnode $hostname4
sql create dnode $hostname4
system sh/exec.sh -n dnode4 -s start
system sh/exec.sh -n dnode4 -s start
sleep 10000
$x = 0
$x = 0
show3:
show3:
$x = $x + 1
$x = $x + 1
sleep
3
000
sleep
1
000
if $x ==
2
0 then
if $x ==
3
0 then
return -1
return -1
endi
endi
sql show dnodes -x show3
sql show dnodes -x show3
...
@@ -209,13 +243,12 @@ endi
...
@@ -209,13 +243,12 @@ endi
print ============================== step4
print ============================== step4
print ========= drop dnode3
print ========= drop dnode3
sql drop dnode $hostname3
sql drop dnode $hostname3
sleep 9000
$x = 0
$x = 0
show4:
show4:
$x = $x + 1
$x = $x + 1
sleep
3
000
sleep
1
000
if $x ==
2
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show dnodes -x show4
sql show dnodes -x show4
...
@@ -266,12 +299,11 @@ print ============================== step5
...
@@ -266,12 +299,11 @@ print ============================== step5
print ========= start dnode3
print ========= start dnode3
sql create dnode $hostname5
sql create dnode $hostname5
system sh/exec.sh -n dnode5 -s start
system sh/exec.sh -n dnode5 -s start
sleep 9000
$x = 0
$x = 0
show5:
show5:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x == 30 then
if $x == 30 then
return -1
return -1
endi
endi
...
@@ -304,7 +336,7 @@ print dnode5 ==> $dnode5Role
...
@@ -304,7 +336,7 @@ print dnode5 ==> $dnode5Role
print ============================== step6
print ============================== step6
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
print stop dnode1 and sleep 10000
print stop dnode1 and sleep 10000
sleep
10
000
sleep
5
000
sql drop dnode $hostname1
sql drop dnode $hostname1
print drop dnode1 and sleep 9000
print drop dnode1 and sleep 9000
...
@@ -364,7 +396,7 @@ print ============================== step12
...
@@ -364,7 +396,7 @@ print ============================== step12
print ========= check data
print ========= check data
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql select * from c_b2_d1.c_b2_t1 order by t desc
sql select * from c_b2_d1.c_b2_t1 order by t desc
print $data01 $data11 $data21 $data31 $data41
print $data01 $data11 $data21 $data31 $data41
...
...
tests/script/unique/cluster/balance3.sim
浏览文件 @
9f4a8ba7
...
@@ -7,7 +7,6 @@ system sh/deploy.sh -n dnode4 -i 4
...
@@ -7,7 +7,6 @@ system sh/deploy.sh -n dnode4 -i 4
system sh/deploy.sh -n dnode5 -i 5
system sh/deploy.sh -n dnode5 -i 5
system sh/deploy.sh -n dnode6 -i 6
system sh/deploy.sh -n dnode6 -i 6
system sh/deploy.sh -n dnode7 -i 7
system sh/deploy.sh -n dnode7 -i 7
system sh/deploy.sh -n dnode8 -i 8
system sh/cfg.sh -n dnode1 -c numOfMnodes -v 3
system sh/cfg.sh -n dnode1 -c numOfMnodes -v 3
system sh/cfg.sh -n dnode2 -c numOfMnodes -v 3
system sh/cfg.sh -n dnode2 -c numOfMnodes -v 3
...
@@ -16,7 +15,6 @@ system sh/cfg.sh -n dnode4 -c numOfMnodes -v 3
...
@@ -16,7 +15,6 @@ system sh/cfg.sh -n dnode4 -c numOfMnodes -v 3
system sh/cfg.sh -n dnode5 -c numOfMnodes -v 3
system sh/cfg.sh -n dnode5 -c numOfMnodes -v 3
system sh/cfg.sh -n dnode6 -c numOfMnodes -v 3
system sh/cfg.sh -n dnode6 -c numOfMnodes -v 3
system sh/cfg.sh -n dnode7 -c numOfMnodes -v 3
system sh/cfg.sh -n dnode7 -c numOfMnodes -v 3
system sh/cfg.sh -n dnode8 -c numOfMnodes -v 3
system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 0
system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 0
system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 0
system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 0
...
@@ -25,7 +23,6 @@ system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 0
...
@@ -25,7 +23,6 @@ system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 0
system sh/cfg.sh -n dnode5 -c mnodeEqualVnodeNum -v 0
system sh/cfg.sh -n dnode5 -c mnodeEqualVnodeNum -v 0
system sh/cfg.sh -n dnode6 -c mnodeEqualVnodeNum -v 0
system sh/cfg.sh -n dnode6 -c mnodeEqualVnodeNum -v 0
system sh/cfg.sh -n dnode7 -c mnodeEqualVnodeNum -v 0
system sh/cfg.sh -n dnode7 -c mnodeEqualVnodeNum -v 0
system sh/cfg.sh -n dnode8 -c mnodeEqualVnodeNum -v 0
system sh/cfg.sh -n dnode1 -c wallevel -v 1
system sh/cfg.sh -n dnode1 -c wallevel -v 1
system sh/cfg.sh -n dnode2 -c wallevel -v 1
system sh/cfg.sh -n dnode2 -c wallevel -v 1
...
@@ -34,19 +31,52 @@ system sh/cfg.sh -n dnode4 -c wallevel -v 1
...
@@ -34,19 +31,52 @@ system sh/cfg.sh -n dnode4 -c wallevel -v 1
system sh/cfg.sh -n dnode5 -c wallevel -v 1
system sh/cfg.sh -n dnode5 -c wallevel -v 1
system sh/cfg.sh -n dnode6 -c wallevel -v 1
system sh/cfg.sh -n dnode6 -c wallevel -v 1
system sh/cfg.sh -n dnode7 -c wallevel -v 1
system sh/cfg.sh -n dnode7 -c wallevel -v 1
system sh/cfg.sh -n dnode8 -c wallevel -v 1
print ============== step1
print ============== step1
print ========= start dnode1
print ========= start dnode1
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sql connect
sql connect
sleep 2001
sql create dnode $hostname2
sql create dnode $hostname2
sql create dnode $hostname3
sql create dnode $hostname3
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 3001
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
sql show mnodes
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step1
endi
if $data2_2 != slave then
goto step1
endi
if $data2_3 != slave then
goto step1
endi
sql create database c_b3_d1 replica 3
sql create database c_b3_d1 replica 3
sql use c_b3_d1
sql use c_b3_d1
...
@@ -89,8 +119,6 @@ $dnode2Vnodes = $data2_2
...
@@ -89,8 +119,6 @@ $dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
print dnode3 $dnode3Vnodes
$dnode4Vnodes = $data2_4
print dnode4 $dnode4Vnodes
if $dnode1Vnodes != 3 then
if $dnode1Vnodes != 3 then
goto show1
goto show1
...
@@ -101,30 +129,22 @@ endi
...
@@ -101,30 +129,22 @@ endi
if $dnode3Vnodes != 3 then
if $dnode3Vnodes != 3 then
goto show1
goto show1
endi
endi
if $dnode4Vnodes != null then
goto show1
endi
sql show mnodes
sql show mnodes
print dnode1 ==> $data2_1
print dnode1 ==> $data2_1
print dnode2 ==> $data2_2
print dnode2 ==> $data2_2
print dnode3 ==> $data2_3
print dnode3 ==> $data2_3
print dnode4 ==> $data2_4
print dnode5 ==> $data2_5
print dnode6 ==> $data2_6
print dnode7 ==> $data2_7
print ============================== step2
print ============================== step2
print ========= start dnode4
print ========= start dnode4
sql create dnode $hostname4
sql create dnode $hostname4
system sh/exec.sh -n dnode4 -s start
system sh/exec.sh -n dnode4 -s start
sleep 9000
$x = 0
$x = 0
show2:
show2:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
2
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show dnodes -x show2
sql show dnodes -x show2
...
@@ -145,21 +165,16 @@ sql show mnodes
...
@@ -145,21 +165,16 @@ sql show mnodes
print dnode1 ==> $data2_1
print dnode1 ==> $data2_1
print dnode2 ==> $data2_2
print dnode2 ==> $data2_2
print dnode3 ==> $data2_3
print dnode3 ==> $data2_3
print dnode4 ==> $data2_4
print dnode5 ==> $data2_5
print dnode6 ==> $data2_6
print dnode7 ==> $data2_7
print ============================== step3
print ============================== step3
print ========= drop dnode2
print ========= drop dnode2
sql drop dnode $hostname2
sql drop dnode $hostname2
sleep 9000
$x = 0
$x = 0
show3:
show3:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
2
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show dnodes -x show3
sql show dnodes -x show3
...
@@ -189,25 +204,21 @@ sql show mnodes
...
@@ -189,25 +204,21 @@ sql show mnodes
print dnode1 ==> $data2_1
print dnode1 ==> $data2_1
print dnode2 ==> $data2_2
print dnode2 ==> $data2_2
print dnode3 ==> $data2_3
print dnode3 ==> $data2_3
print dnode4 ==> $data2_4
print dnode5 ==> $data2_5
print dnode6 ==> $data2_6
print dnode7 ==> $data2_7
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
print ============================== step4
print ============================== step4
sql create dnode $hostname5
sql create dnode $hostname5
system sh/exec.sh -n dnode5 -s start
system sh/exec.sh -n dnode5 -s start
sleep 10000
$x = 0
$x = 0
show4:
show4:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
2
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show dnodes -x show4
sql show dnodes -x show4
$dnode1Vnodes = $data2_1
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
print dnode1 $dnode1Vnodes
...
@@ -228,8 +239,10 @@ print dnode2 ==> $data2_2
...
@@ -228,8 +239,10 @@ print dnode2 ==> $data2_2
print dnode3 ==> $data2_3
print dnode3 ==> $data2_3
print dnode4 ==> $data2_4
print dnode4 ==> $data2_4
print dnode5 ==> $data2_5
print dnode5 ==> $data2_5
print dnode6 ==> $data2_6
print dnode7 ==> $data2_7
if $data2_4 != slave then
goto show4
endi
print ============================== step5
print ============================== step5
print ========= drop dnode3
print ========= drop dnode3
...
@@ -239,8 +252,8 @@ sleep 9000
...
@@ -239,8 +252,8 @@ sleep 9000
$x = 0
$x = 0
show5:
show5:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
2
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show dnodes -x show5
sql show dnodes -x show5
...
@@ -277,16 +290,19 @@ print dnode5 ==> $data2_5
...
@@ -277,16 +290,19 @@ print dnode5 ==> $data2_5
print dnode6 ==> $data2_6
print dnode6 ==> $data2_6
print dnode7 ==> $data2_7
print dnode7 ==> $data2_7
if $data2_5 != slave then
goto show5
endi
print ============================== step6
print ============================== step6
sql create dnode $hostname6
sql create dnode $hostname6
system sh/exec.sh -n dnode6 -s start
system sh/exec.sh -n dnode6 -s start
sleep 9000
$x = 0
$x = 0
show6:
show6:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
2
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show dnodes -x show6
sql show dnodes -x show6
...
@@ -299,6 +315,15 @@ print dnode5 $dnode5Vnodes
...
@@ -299,6 +315,15 @@ print dnode5 $dnode5Vnodes
$dnode6Vnodes = $data2_6
$dnode6Vnodes = $data2_6
print dnode6 $dnode6Vnodes
print dnode6 $dnode6Vnodes
if $dnode1Vnodes != 2 then
goto show6
endi
if $dnode4Vnodes != 2 then
goto show6
endi
if $dnode5Vnodes != 3 then
goto show6
endi
if $dnode6Vnodes != 2 then
if $dnode6Vnodes != 2 then
goto show6
goto show6
endi
endi
...
@@ -315,13 +340,12 @@ print dnode7 ==> $data2_7
...
@@ -315,13 +340,12 @@ print dnode7 ==> $data2_7
print ============================== step7
print ============================== step7
print ========= drop dnode4
print ========= drop dnode4
sql drop dnode $hostname4
sql drop dnode $hostname4
sleep 9000
$x = 0
$x = 0
show7:
show7:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
2
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show dnodes -x show7
sql show dnodes -x show7
...
@@ -357,16 +381,19 @@ print dnode5 ==> $data2_5
...
@@ -357,16 +381,19 @@ print dnode5 ==> $data2_5
print dnode6 ==> $data2_6
print dnode6 ==> $data2_6
print dnode7 ==> $data2_7
print dnode7 ==> $data2_7
if $data2_6 != slave then
goto show7
endi
print ============================== step8
print ============================== step8
sql create dnode $hostname7
sql create dnode $hostname7
system sh/exec.sh -n dnode7 -s start
system sh/exec.sh -n dnode7 -s start
sleep 9000
$x = 0
$x = 0
show8:
show8:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
2
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show dnodes -x show8
sql show dnodes -x show8
...
@@ -379,6 +406,15 @@ print dnode6 $dnode6Vnodes
...
@@ -379,6 +406,15 @@ print dnode6 $dnode6Vnodes
$dnode7Vnodes = $data2_7
$dnode7Vnodes = $data2_7
print dnode7 $dnode7Vnodes
print dnode7 $dnode7Vnodes
if $dnode1Vnodes != 2 then
goto show8
endi
if $dnode5Vnodes != 2 then
goto show8
endi
if $dnode6Vnodes != 3 then
goto show8
endi
if $dnode7Vnodes != 2 then
if $dnode7Vnodes != 2 then
goto show8
goto show8
endi
endi
...
@@ -393,19 +429,17 @@ print dnode6 ==> $data2_6
...
@@ -393,19 +429,17 @@ print dnode6 ==> $data2_6
print dnode7 ==> $data2_7
print dnode7 ==> $data2_7
print ============================== step9
print ============================== step9
print ========= drop dnode1
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
print stop dnode1 and sleep 10000
sleep 10000
sql drop dnode $hostname1
$x = 0
print drop dnode1 and sleep 9000
show9:
sleep 9000
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show mnodes -x show9
sql show mnodes
$dnode1Role = $data2_1
$dnode4Role = $data2_4
$dnode5Role = $data2_5
print dnode1 ==> $data2_1
print dnode1 ==> $data2_1
print dnode2 ==> $data2_2
print dnode2 ==> $data2_2
print dnode3 ==> $data2_3
print dnode3 ==> $data2_3
...
@@ -414,26 +448,27 @@ print dnode5 ==> $data2_5
...
@@ -414,26 +448,27 @@ print dnode5 ==> $data2_5
print dnode6 ==> $data2_6
print dnode6 ==> $data2_6
print dnode7 ==> $data2_7
print dnode7 ==> $data2_7
if $dnode1Role != offline then
if $data2_1 != offline then
return -1
goto show9
endi
if $data2_5 != master then
goto show9
endi
if $data2_6 != slave then
goto show9
endi
endi
print ============================== step9.1
print ============================== step10
sleep 2000
sql drop dnode $hostname1
system sh/exec.sh -n dnode1 -s start
$x = 0
$x = 0
show
9
:
show
10
:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
2
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show mnodes -x show10
sql show mnodes
$dnode1Role = $data2_1
$dnode4Role = $data2_4
$dnode5Role = $data2_5
print dnode1 ==> $data2_1
print dnode1 ==> $data2_1
print dnode2 ==> $data2_2
print dnode2 ==> $data2_2
print dnode3 ==> $data2_3
print dnode3 ==> $data2_3
...
@@ -442,7 +477,31 @@ print dnode5 ==> $data2_5
...
@@ -442,7 +477,31 @@ print dnode5 ==> $data2_5
print dnode6 ==> $data2_6
print dnode6 ==> $data2_6
print dnode7 ==> $data2_7
print dnode7 ==> $data2_7
sql show dnodes -x show9
if $data2_1 != null then
goto show10
endi
if $data2_5 != master then
goto show10
endi
if $data2_6 != slave then
goto show10
endi
if $data2_7 != slave then
goto show10
endi
print ============================== step11
system sh/exec.sh -n dnode1 -s start
$x = 0
show11:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show dnodes -x show11
$dnode5Vnodes = $data2_5
$dnode5Vnodes = $data2_5
print dnode5 $dnode5Vnodes
print dnode5 $dnode5Vnodes
$dnode6Vnodes = $data2_6
$dnode6Vnodes = $data2_6
...
@@ -451,17 +510,16 @@ $dnode7Vnodes = $data2_7
...
@@ -451,17 +510,16 @@ $dnode7Vnodes = $data2_7
print dnode7 $dnode7Vnodes
print dnode7 $dnode7Vnodes
if $dnode5Vnodes != 3 then
if $dnode5Vnodes != 3 then
goto show
9
goto show
11
endi
endi
if $dnode6Vnodes != 3 then
if $dnode6Vnodes != 3 then
goto show
9
goto show
11
endi
endi
if $dnode7Vnodes != 3 then
if $dnode7Vnodes != 3 then
goto show
9
goto show
11
endi
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
sleep 5000
sql show mnodes
sql show mnodes
print dnode1 ==> $data2_1
print dnode1 ==> $data2_1
...
@@ -472,15 +530,13 @@ print dnode5 ==> $data2_5
...
@@ -472,15 +530,13 @@ print dnode5 ==> $data2_5
print dnode6 ==> $data2_6
print dnode6 ==> $data2_6
print dnode7 ==> $data2_7
print dnode7 ==> $data2_7
print ============================== step11
print ============================== step12
print ========= add db4
sql create database c_b3_d4 replica 3
sql create database c_b3_d4 replica 3
sql use c_b3_d4
sql use c_b3_d4
$x = 0
$x = 0
create4:
create4:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x == 20 then
if $x == 20 then
return -1
return -1
endi
endi
...
@@ -491,16 +547,14 @@ sql insert into c_b3_t4 values(1520000022043, 43)
...
@@ -491,16 +547,14 @@ sql insert into c_b3_t4 values(1520000022043, 43)
sql insert into c_b3_t4 values(1520000023042, 42)
sql insert into c_b3_t4 values(1520000023042, 42)
sql insert into c_b3_t4 values(1520000024041, 41)
sql insert into c_b3_t4 values(1520000024041, 41)
sleep 3000
$x = 0
$x = 0
show1
1
:
show1
2
:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
2
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show dnodes -x show1
1
sql show dnodes -x show1
2
$dnode5Vnodes = $data2_5
$dnode5Vnodes = $data2_5
print dnode5 $dnode5Vnodes
print dnode5 $dnode5Vnodes
$dnode6Vnodes = $data2_6
$dnode6Vnodes = $data2_6
...
@@ -509,21 +563,18 @@ $dnode7Vnodes = $data2_7
...
@@ -509,21 +563,18 @@ $dnode7Vnodes = $data2_7
print dnode7 $dnode7Vnodes
print dnode7 $dnode7Vnodes
if $dnode5Vnodes != 4 then
if $dnode5Vnodes != 4 then
goto show1
1
goto show1
2
endi
endi
if $dnode6Vnodes != 4 then
if $dnode6Vnodes != 4 then
goto show1
1
goto show1
2
endi
endi
if $dnode7Vnodes != 4 then
if $dnode7Vnodes != 4 then
goto show1
1
goto show1
2
endi
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
sleep 5000
print ============================== step13
print ============================== step13
sql reset query cache
sql reset query cache
sleep
10
00
sleep
2
00
print ========= check data
print ========= check data
...
@@ -590,4 +641,3 @@ system sh/exec.sh -n dnode4 -s stop -x SIGINT
...
@@ -590,4 +641,3 @@ system sh/exec.sh -n dnode4 -s stop -x SIGINT
system sh/exec.sh -n dnode5 -s stop -x SIGINT
system sh/exec.sh -n dnode5 -s stop -x SIGINT
system sh/exec.sh -n dnode6 -s stop -x SIGINT
system sh/exec.sh -n dnode6 -s stop -x SIGINT
system sh/exec.sh -n dnode7 -s stop -x SIGINT
system sh/exec.sh -n dnode7 -s stop -x SIGINT
system sh/exec.sh -n dnode8 -s stop -x SIGINT
tests/script/unique/cluster/vgroup100.sim
浏览文件 @
9f4a8ba7
...
@@ -17,7 +17,6 @@ system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 0
...
@@ -17,7 +17,6 @@ system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 0
print ============================== step1
print ============================== step1
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 2000
sql connect
sql connect
print ============================== step2
print ============================== step2
...
@@ -27,8 +26,6 @@ system sh/exec.sh -n dnode2 -s start
...
@@ -27,8 +26,6 @@ system sh/exec.sh -n dnode2 -s start
sql create dnode $hostname3
sql create dnode $hostname3
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 3000
$maxNum = 102
$maxNum = 102
$maxNum = 12
$maxNum = 12
...
@@ -92,13 +89,11 @@ print ============================== step5
...
@@ -92,13 +89,11 @@ print ============================== step5
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
sleep 5000
print ============================== step6
print ============================== step6
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 10000
print ============================== step7
print ============================== step7
...
...
tests/script/unique/db/delete.sim
浏览文件 @
9f4a8ba7
...
@@ -18,7 +18,6 @@ system sh/cfg.sh -n dnode3 -c maxTablesPerVnode -v 1000
...
@@ -18,7 +18,6 @@ system sh/cfg.sh -n dnode3 -c maxTablesPerVnode -v 1000
print ========= start dnodes
print ========= start dnodes
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
sql create dnode $hostname2
sql create dnode $hostname2
sql create dnode $hostname3
sql create dnode $hostname3
...
@@ -38,8 +37,6 @@ while $i < 2000
...
@@ -38,8 +37,6 @@ while $i < 2000
$i = $i + 1
$i = $i + 1
endw
endw
sleep 2500
sql show db.vgroups
sql show db.vgroups
if $rows != 2 then
if $rows != 2 then
return -1
return -1
...
@@ -73,7 +70,6 @@ system sh/exec.sh -n dnode1 -s stop -x SIGINT
...
@@ -73,7 +70,6 @@ system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
...
@@ -92,7 +88,6 @@ if $data2_1 != master then
...
@@ -92,7 +88,6 @@ if $data2_1 != master then
goto step3
goto step3
endi
endi
sleep 1000
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
...
...
tests/script/unique/db/delete_part.sim
浏览文件 @
9f4a8ba7
...
@@ -31,11 +31,29 @@ system sh/cfg.sh -n dnode4 -c maxTablesPerVnode -v 4
...
@@ -31,11 +31,29 @@ system sh/cfg.sh -n dnode4 -c maxTablesPerVnode -v 4
print ========= start dnodes
print ========= start dnodes
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
sql create dnode $hostname2
sql create dnode $hostname2
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
$loop = 0
$loop = 0
begin:
begin:
...
@@ -53,7 +71,6 @@ begin:
...
@@ -53,7 +71,6 @@ begin:
sql insert into t13 values(now, 1 )
sql insert into t13 values(now, 1 )
sql create table t14 (ts timestamp, i int)
sql create table t14 (ts timestamp, i int)
sql insert into t14 values(now, 1 )
sql insert into t14 values(now, 1 )
sleep 1200
sql create table t21 (ts timestamp, i int)
sql create table t21 (ts timestamp, i int)
sql insert into t21 values(now, 1 )
sql insert into t21 values(now, 1 )
...
@@ -63,7 +80,6 @@ begin:
...
@@ -63,7 +80,6 @@ begin:
sql insert into t23 values(now, 1 )
sql insert into t23 values(now, 1 )
sql create table t24 (ts timestamp, i int)
sql create table t24 (ts timestamp, i int)
sql insert into t24 values(now, 1 )
sql insert into t24 values(now, 1 )
sleep 1200
sql create table t31 (ts timestamp, i int)
sql create table t31 (ts timestamp, i int)
sql insert into t31 values(now, 1 )
sql insert into t31 values(now, 1 )
...
@@ -73,7 +89,6 @@ begin:
...
@@ -73,7 +89,6 @@ begin:
sql insert into t33 values(now, 1 )
sql insert into t33 values(now, 1 )
sql create table t34 (ts timestamp, i int)
sql create table t34 (ts timestamp, i int)
sql insert into t34 values(now, 1 )
sql insert into t34 values(now, 1 )
sleep 1200
sql create table t41 (ts timestamp, i int)
sql create table t41 (ts timestamp, i int)
sql insert into t41 values(now, 1 )
sql insert into t41 values(now, 1 )
...
@@ -83,7 +98,6 @@ begin:
...
@@ -83,7 +98,6 @@ begin:
sql insert into t43 values(now, 1 )
sql insert into t43 values(now, 1 )
sql create table t44 (ts timestamp, i int)
sql create table t44 (ts timestamp, i int)
sql insert into t44 values(now, 1 )
sql insert into t44 values(now, 1 )
sleep 1200
sql create table t51 (ts timestamp, i int)
sql create table t51 (ts timestamp, i int)
sql insert into t51 values(now, 1 )
sql insert into t51 values(now, 1 )
...
@@ -93,7 +107,6 @@ begin:
...
@@ -93,7 +107,6 @@ begin:
sql insert into t53 values(now, 1 )
sql insert into t53 values(now, 1 )
sql create table t54 (ts timestamp, i int)
sql create table t54 (ts timestamp, i int)
sql insert into t54 values(now, 1 )
sql insert into t54 values(now, 1 )
sleep 1200
sql create table t61 (ts timestamp, i int)
sql create table t61 (ts timestamp, i int)
sql insert into t61 values(now, 1 )
sql insert into t61 values(now, 1 )
...
@@ -103,7 +116,6 @@ begin:
...
@@ -103,7 +116,6 @@ begin:
sql insert into t63 values(now, 1 )
sql insert into t63 values(now, 1 )
sql create table t64 (ts timestamp, i int)
sql create table t64 (ts timestamp, i int)
sql insert into t64 values(now, 1 )
sql insert into t64 values(now, 1 )
sleep 1200
sql create table t71 (ts timestamp, i int)
sql create table t71 (ts timestamp, i int)
sql insert into t71 values(now, 1 )
sql insert into t71 values(now, 1 )
...
@@ -113,7 +125,6 @@ begin:
...
@@ -113,7 +125,6 @@ begin:
sql insert into t73 values(now, 1 )
sql insert into t73 values(now, 1 )
sql create table t74 (ts timestamp, i int)
sql create table t74 (ts timestamp, i int)
sql insert into t74 values(now, 1 )
sql insert into t74 values(now, 1 )
sleep 1200
sql create table t81 (ts timestamp, i int)
sql create table t81 (ts timestamp, i int)
sql insert into t81 values(now, 1 )
sql insert into t81 values(now, 1 )
...
@@ -123,7 +134,6 @@ begin:
...
@@ -123,7 +134,6 @@ begin:
sql insert into t83 values(now, 1 )
sql insert into t83 values(now, 1 )
sql create table t84 (ts timestamp, i int)
sql create table t84 (ts timestamp, i int)
sql insert into t84 values(now, 1 )
sql insert into t84 values(now, 1 )
sleep 1200
sql show dnodes
sql show dnodes
print dnode1 openVnodes $data2_1
print dnode1 openVnodes $data2_1
...
@@ -138,29 +148,36 @@ begin:
...
@@ -138,29 +148,36 @@ begin:
print ======== step2 $loop
print ======== step2 $loop
system sh/exec.sh -n dnode2 -s stop
system sh/exec.sh -n dnode2 -s stop
sleep 1000
print ==> drop database $db
print ==> drop database $db
sql drop database $db
sql drop database $db
print ======== step3 $loop
print ======== step3 $loop
sleep 2000
sleep 2000
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 15000
sql show dnodes
$x = 0
step3:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes -x step3
print dnode1 openVnodes $data2_1 $data4_1
print dnode1 openVnodes $data2_1 $data4_1
print dnode2 openVnodes $data2_2 $data4_2
print dnode2 openVnodes $data2_2 $data4_2
if $data2_1 != 0 then
if $data2_1 != 0 then
return -1
goto step3
endi
endi
if $data2_2 != 0 then
if $data2_2 != 0 then
return -1
goto step3
endi
endi
if $data4_1 != ready then
if $data4_1 != ready then
return -1
goto step3
endi
endi
if $data4_2 != ready then
if $data4_2 != ready then
return -1
goto step3
endi
endi
print ===> test times : $loop
print ===> test times : $loop
...
@@ -171,7 +188,7 @@ begin:
...
@@ -171,7 +188,7 @@ begin:
$loop = $loop + 1
$loop = $loop + 1
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
goto begin
goto begin
...
...
tests/script/unique/db/replica_add12.sim
浏览文件 @
9f4a8ba7
...
@@ -20,6 +20,11 @@ system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
...
@@ -20,6 +20,11 @@ system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode1 -c balanceInterval -v 1
system sh/cfg.sh -n dnode2 -c balanceInterval -v 1
system sh/cfg.sh -n dnode3 -c balanceInterval -v 1
system sh/cfg.sh -n dnode4 -c balanceInterval -v 1
print ========= start dnodes
print ========= start dnodes
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sql connect
sql connect
...
@@ -27,7 +32,43 @@ sql create dnode $hostname2
...
@@ -27,7 +32,43 @@ sql create dnode $hostname2
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sql create dnode $hostname3
sql create dnode $hostname3
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 3000
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
sql show mnodes
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step1
endi
if $data2_2 != null then
goto step1
endi
if $data2_3 != null then
goto step1
endi
print ======== step1
print ======== step1
sql create database d1 replica 1
sql create database d1 replica 1
...
@@ -65,8 +106,6 @@ if $rows != 1 then
...
@@ -65,8 +106,6 @@ if $rows != 1 then
return -1
return -1
endi
endi
sleep 2000
sql show dnodes
sql show dnodes
print dnode1 ==> openVnodes: $data2_1
print dnode1 ==> openVnodes: $data2_1
print dnode2 ==> openVnodes: $data2_2
print dnode2 ==> openVnodes: $data2_2
...
@@ -89,10 +128,40 @@ sql alter database d1 replica 2
...
@@ -89,10 +128,40 @@ sql alter database d1 replica 2
sql alter database d2 replica 2
sql alter database d2 replica 2
sql alter database d3 replica 2
sql alter database d3 replica 2
sql alter database d4 replica 2
sql alter database d4 replica 2
sleep 10000
$x = 0
a1:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 2 then
goto a1
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 2 then
goto a1
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 2 then
goto a1
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 2 then
goto a1
endi
print ======== step3
print ======== step3
sql show dnodes
sql show dnodes
print dnode1 ==> openVnodes: $data2_1
print dnode1 ==> openVnodes: $data2_1
print dnode2 ==> openVnodes: $data2_2
print dnode2 ==> openVnodes: $data2_2
...
@@ -115,7 +184,6 @@ sql insert into d1.t1 values(now, 2)
...
@@ -115,7 +184,6 @@ sql insert into d1.t1 values(now, 2)
sql insert into d2.t2 values(now, 2)
sql insert into d2.t2 values(now, 2)
sql insert into d3.t3 values(now, 2)
sql insert into d3.t3 values(now, 2)
sql insert into d4.t4 values(now, 2)
sql insert into d4.t4 values(now, 2)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 2 then
if $rows != 2 then
...
@@ -138,33 +206,54 @@ if $rows != 2 then
...
@@ -138,33 +206,54 @@ if $rows != 2 then
endi
endi
sql reset query cache
sql reset query cache
sleep 200
0
sleep 200
print ========= step5
print ========= step5
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
sql select * from d1.t1 -x s51
s51:
#sql insert into d1.t1 values(now, 3) -x s52
s52:
sql_error select * from d1.t1
print ========= step6
sql_error select * from d2.t2
system sh/exec.sh -n dnode2 -s start
sql_error select * from d3.t3
sql_error select * from d4.t4
$x = 0
step6:
$x = $x + 1
sleep 1000
if $x == 20 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step6
endi
print ===== insert data
sql show d2.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step6
endi
sql
_error insert into d1.t1 values(now, 3)
sql
show d3.vgroups
sql_error insert into d2.t2 values(now, 3)
print online vnodes $data03
sql_error insert into d3.t3 values(now, 3)
if $data03 != 2 then
sql_error insert into d4.t4 values(now, 3)
goto step6
sleep 1000
endi
print ========= step6
sql show d4.vgroups
system sh/exec.sh -n dnode2 -s start
print online vnodes $data03
sleep 5000
if $data03 != 2 then
goto step6
endi
sql insert into d1.t1 values(now, 3)
sql insert into d1.t1 values(now, 3)
-x step6
sql insert into d2.t2 values(now, 3)
sql insert into d2.t2 values(now, 3)
-x step6
sql insert into d3.t3 values(now, 3)
sql insert into d3.t3 values(now, 3)
-x step6
sql insert into d4.t4 values(now, 3)
sql insert into d4.t4 values(now, 3)
-x step6
sql select * from d1.t1
sql select * from d1.t1
if $rows != 3 then
if $rows != 3 then
...
@@ -187,30 +276,52 @@ if $rows != 3 then
...
@@ -187,30 +276,52 @@ if $rows != 3 then
endi
endi
print ========= step61
print ========= step61
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
sleep 5000
#sql insert into d1.t1 values(now, 3) -x s61
s61:
sql_error insert into d1.t1 values(now, 3)
sql_error insert into d2.t2 values(now, 3)
sql_error insert into d3.t3 values(now, 3)
sql_error insert into d4.t4 values(now, 3)
sleep 1000
sql_error select * from d1.t1
sql select * from d2.t2 -x s62
sql_error select * from d2.t2
s62:
sql_error select * from d3.t3
sql_error select * from d4.t4
print ========= step7
print ========= step7
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 5000
sql insert into d1.t1 values(now, 5)
$x = 0
sql insert into d2.t2 values(now, 5)
step7:
sql insert into d3.t3 values(now, 5)
$x = $x + 1
sql insert into d4.t4 values(now, 5)
sleep 1000
sleep 1000
if $x == 20 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step7
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step7
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step7
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step7
endi
sql insert into d1.t1 values(now, 5) -x step7
sql insert into d2.t2 values(now, 5) -x step7
sql insert into d3.t3 values(now, 5) -x step7
sql insert into d4.t4 values(now, 5) -x step7
sql select * from d1.t1
sql select * from d1.t1
if $rows != 4 then
if $rows != 4 then
...
@@ -235,8 +346,4 @@ endi
...
@@ -235,8 +346,4 @@ endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode4 -s stop -x SIGINT
system sh/exec.sh -n dnode4 -s stop -x SIGINT
system sh/exec.sh -n dnode5 -s stop -x SIGINT
\ No newline at end of file
system sh/exec.sh -n dnode6 -s stop -x SIGINT
system sh/exec.sh -n dnode7 -s stop -x SIGINT
system sh/exec.sh -n dnode8 -s stop -x SIGINT
\ No newline at end of file
tests/script/unique/db/replica_add13.sim
浏览文件 @
9f4a8ba7
...
@@ -20,6 +20,11 @@ system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
...
@@ -20,6 +20,11 @@ system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode1 -c balanceInterval -v 1
system sh/cfg.sh -n dnode2 -c balanceInterval -v 1
system sh/cfg.sh -n dnode3 -c balanceInterval -v 1
system sh/cfg.sh -n dnode4 -c balanceInterval -v 1
print ========= start dnodes
print ========= start dnodes
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sql connect
sql connect
...
@@ -29,7 +34,41 @@ sql create dnode $hostname3
...
@@ -29,7 +34,41 @@ sql create dnode $hostname3
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sql create dnode $hostname4
sql create dnode $hostname4
system sh/exec.sh -n dnode4 -s start
system sh/exec.sh -n dnode4 -s start
sleep 3000
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
if $data4_4 != ready then
goto step1
endi
sql show mnodes
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step1
endi
print ======== step1
print ======== step1
sql create database d1 replica 1
sql create database d1 replica 1
...
@@ -46,7 +85,6 @@ sql insert into d1.t1 values(1589529000011, 1)
...
@@ -46,7 +85,6 @@ sql insert into d1.t1 values(1589529000011, 1)
sql insert into d2.t2 values(1589529000021, 1)
sql insert into d2.t2 values(1589529000021, 1)
sql insert into d3.t3 values(1589529000031, 1)
sql insert into d3.t3 values(1589529000031, 1)
sql insert into d4.t4 values(1589529000041, 1)
sql insert into d4.t4 values(1589529000041, 1)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 1 then
if $rows != 1 then
...
@@ -73,17 +111,40 @@ sql alter database d1 replica 3
...
@@ -73,17 +111,40 @@ sql alter database d1 replica 3
sql alter database d2 replica 3
sql alter database d2 replica 3
sql alter database d3 replica 3
sql alter database d3 replica 3
sql alter database d4 replica 3
sql alter database d4 replica 3
sleep 10000
print ======== step3
$x = 0
$x = 0
show3
:
a1
:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
10 then
if $x ==
40 then
return -1
return -1
endi
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 3 then
goto a1
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 3 then
goto a1
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 3 then
goto a1
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 3 then
goto a1
endi
print ======== step3
sql show dnodes
sql show dnodes
print dnode1 ==> openVnodes: $data2_1
print dnode1 ==> openVnodes: $data2_1
print dnode2 ==> openVnodes: $data2_2
print dnode2 ==> openVnodes: $data2_2
...
@@ -111,7 +172,6 @@ sql insert into d1.t1 values(1589529000012, 2)
...
@@ -111,7 +172,6 @@ sql insert into d1.t1 values(1589529000012, 2)
sql insert into d2.t2 values(1589529000022, 2)
sql insert into d2.t2 values(1589529000022, 2)
sql insert into d3.t3 values(1589529000032, 2)
sql insert into d3.t3 values(1589529000032, 2)
sql insert into d4.t4 values(1589529000042, 2)
sql insert into d4.t4 values(1589529000042, 2)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 2 then
if $rows != 2 then
...
@@ -135,15 +195,13 @@ endi
...
@@ -135,15 +195,13 @@ endi
print ========= step5
print ========= step5
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
sql insert into d1.t1 values(1589529000013, 3)
sql insert into d1.t1 values(1589529000013, 3)
sql insert into d2.t2 values(1589529000023, 3)
sql insert into d2.t2 values(1589529000023, 3)
sql insert into d3.t3 values(1589529000033, 3)
sql insert into d3.t3 values(1589529000033, 3)
sql insert into d4.t4 values(1589529000043, 3)
sql insert into d4.t4 values(1589529000043, 3)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 3 then
if $rows != 3 then
...
@@ -167,15 +225,45 @@ endi
...
@@ -167,15 +225,45 @@ endi
print ========= step6
print ========= step6
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 5000
$x = 0
step6:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step6
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step6
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step6
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step6
endi
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
sleep 5000
sql insert into d1.t1 values(1589529000014, 4)
sql insert into d1.t1 values(1589529000014, 4)
sql insert into d2.t2 values(1589529000024, 4)
sql insert into d2.t2 values(1589529000024, 4)
sql insert into d3.t3 values(1589529000034, 4)
sql insert into d3.t3 values(1589529000034, 4)
sql insert into d4.t4 values(1589529000044, 4)
sql insert into d4.t4 values(1589529000044, 4)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
print select * from d1.t1 $rows
print select * from d1.t1 $rows
...
@@ -203,15 +291,45 @@ endi
...
@@ -203,15 +291,45 @@ endi
print ========= step7
print ========= step7
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 5000
$x = 0
step7:
$x = $x + 1
sleep 1000
if $x == 20 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step7
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step7
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step7
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step7
endi
system sh/exec.sh -n dnode4 -s stop -x SIGINT
system sh/exec.sh -n dnode4 -s stop -x SIGINT
sleep 5000
sql insert into d1.t1 values(1589529000015, 5)
sql insert into d1.t1 values(1589529000015, 5)
sql insert into d2.t2 values(1589529000025, 5)
sql insert into d2.t2 values(1589529000025, 5)
sql insert into d3.t3 values(1589529000035, 5)
sql insert into d3.t3 values(1589529000035, 5)
sql insert into d4.t4 values(1589529000045, 5)
sql insert into d4.t4 values(1589529000045, 5)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 5 then
if $rows != 5 then
...
@@ -235,15 +353,45 @@ endi
...
@@ -235,15 +353,45 @@ endi
print ========= step8
print ========= step8
system sh/exec.sh -n dnode4 -s start
system sh/exec.sh -n dnode4 -s start
sleep 5000
$x = 0
step8:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step8
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step8
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step8
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step8
endi
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
sql insert into d1.t1 values(1589529000016, 6)
sql insert into d1.t1 values(1589529000016, 6)
sql insert into d2.t2 values(1589529000026, 6)
sql insert into d2.t2 values(1589529000026, 6)
sql insert into d3.t3 values(1589529000036, 6)
sql insert into d3.t3 values(1589529000036, 6)
sql insert into d4.t4 values(1589529000046, 6)
sql insert into d4.t4 values(1589529000046, 6)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 6 then
if $rows != 6 then
...
@@ -268,8 +416,4 @@ endi
...
@@ -268,8 +416,4 @@ endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode4 -s stop -x SIGINT
system sh/exec.sh -n dnode4 -s stop -x SIGINT
system sh/exec.sh -n dnode5 -s stop -x SIGINT
\ No newline at end of file
system sh/exec.sh -n dnode6 -s stop -x SIGINT
system sh/exec.sh -n dnode7 -s stop -x SIGINT
system sh/exec.sh -n dnode8 -s stop -x SIGINT
\ No newline at end of file
tests/script/unique/db/replica_add23.sim
浏览文件 @
9f4a8ba7
...
@@ -20,6 +20,11 @@ system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
...
@@ -20,6 +20,11 @@ system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode1 -c balanceInterval -v 1
system sh/cfg.sh -n dnode2 -c balanceInterval -v 1
system sh/cfg.sh -n dnode3 -c balanceInterval -v 1
system sh/cfg.sh -n dnode4 -c balanceInterval -v 1
print ========= start dnodes
print ========= start dnodes
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sql connect
sql connect
...
@@ -29,7 +34,42 @@ sql create dnode $hostname3
...
@@ -29,7 +34,42 @@ sql create dnode $hostname3
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sql create dnode $hostname4
sql create dnode $hostname4
system sh/exec.sh -n dnode4 -s start
system sh/exec.sh -n dnode4 -s start
sleep 3000
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
if $data4_4 != ready then
goto step1
endi
sql show mnodes
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step1
endi
print ======== step1
print ======== step1
sql create database d1 replica 2
sql create database d1 replica 2
...
@@ -46,7 +86,6 @@ sql insert into d1.t1 values(1588262400001, 1)
...
@@ -46,7 +86,6 @@ sql insert into d1.t1 values(1588262400001, 1)
sql insert into d2.t2 values(1588262400001, 1)
sql insert into d2.t2 values(1588262400001, 1)
sql insert into d3.t3 values(1588262400001, 1)
sql insert into d3.t3 values(1588262400001, 1)
sql insert into d4.t4 values(1588262400001, 1)
sql insert into d4.t4 values(1588262400001, 1)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 1 then
if $rows != 1 then
...
@@ -73,17 +112,40 @@ sql alter database d1 replica 3
...
@@ -73,17 +112,40 @@ sql alter database d1 replica 3
sql alter database d2 replica 3
sql alter database d2 replica 3
sql alter database d3 replica 3
sql alter database d3 replica 3
sql alter database d4 replica 3
sql alter database d4 replica 3
sleep 10000
print ======== step3
$x = 0
$x = 0
show3
:
a1
:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
10 then
if $x ==
40 then
return -1
return -1
endi
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 3 then
goto a1
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 3 then
goto a1
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 3 then
goto a1
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 3 then
goto a1
endi
print ======== step3
sql show dnodes
sql show dnodes
print dnode1 ==> openVnodes: $data2_1
print dnode1 ==> openVnodes: $data2_1
print dnode2 ==> openVnodes: $data2_2
print dnode2 ==> openVnodes: $data2_2
...
@@ -111,7 +173,6 @@ sql insert into d1.t1 values(1588262400002, 2)
...
@@ -111,7 +173,6 @@ sql insert into d1.t1 values(1588262400002, 2)
sql insert into d2.t2 values(1588262400002, 2)
sql insert into d2.t2 values(1588262400002, 2)
sql insert into d3.t3 values(1588262400002, 2)
sql insert into d3.t3 values(1588262400002, 2)
sql insert into d4.t4 values(1588262400002, 2)
sql insert into d4.t4 values(1588262400002, 2)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 2 then
if $rows != 2 then
...
@@ -134,17 +195,14 @@ if $rows != 2 then
...
@@ -134,17 +195,14 @@ if $rows != 2 then
endi
endi
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
print ========= step5
print ========= step5
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
sql insert into d1.t1 values(1588262400003, 3)
sql insert into d1.t1 values(1588262400003, 3)
sql insert into d2.t2 values(1588262400003, 3)
sql insert into d2.t2 values(1588262400003, 3)
sql insert into d3.t3 values(1588262400003, 3)
sql insert into d3.t3 values(1588262400003, 3)
sql insert into d4.t4 values(1588262400003, 3)
sql insert into d4.t4 values(1588262400003, 3)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 3 then
if $rows != 3 then
...
@@ -168,15 +226,45 @@ endi
...
@@ -168,15 +226,45 @@ endi
print ========= step6
print ========= step6
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 5000
$x = 0
step6:
$x = $x + 1
sleep 1000
if $x == 20 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step6
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step6
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step6
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step6
endi
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
sleep 5000
sql insert into d1.t1 values(1588262400004, 4)
sql insert into d1.t1 values(1588262400004, 4)
sql insert into d2.t2 values(1588262400004, 4)
sql insert into d2.t2 values(1588262400004, 4)
sql insert into d3.t3 values(1588262400004, 4)
sql insert into d3.t3 values(1588262400004, 4)
sql insert into d4.t4 values(1588262400004, 4)
sql insert into d4.t4 values(1588262400004, 4)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 4 then
if $rows != 4 then
...
@@ -200,15 +288,45 @@ endi
...
@@ -200,15 +288,45 @@ endi
print ========= step7
print ========= step7
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 5000
$x = 0
step7:
$x = $x + 1
sleep 1000
if $x == 20 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step7
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step7
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step7
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step7
endi
system sh/exec.sh -n dnode4 -s stop -x SIGINT
system sh/exec.sh -n dnode4 -s stop -x SIGINT
sleep 5000
sql insert into d1.t1 values(1588262400005, 5)
sql insert into d1.t1 values(1588262400005, 5)
sql insert into d2.t2 values(1588262400005, 5)
sql insert into d2.t2 values(1588262400005, 5)
sql insert into d3.t3 values(1588262400005, 5)
sql insert into d3.t3 values(1588262400005, 5)
sql insert into d4.t4 values(1588262400005, 5)
sql insert into d4.t4 values(1588262400005, 5)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 5 then
if $rows != 5 then
...
@@ -232,15 +350,45 @@ endi
...
@@ -232,15 +350,45 @@ endi
print ========= step8
print ========= step8
system sh/exec.sh -n dnode4 -s start
system sh/exec.sh -n dnode4 -s start
sleep 5000
$x = 0
step8:
$x = $x + 1
sleep 2000
if $x == 10 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step8
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step8
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step8
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step8
endi
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
sql insert into d1.t1 values(1588262400006, 6)
sql insert into d1.t1 values(1588262400006, 6)
sql insert into d2.t2 values(1588262400006, 6)
sql insert into d2.t2 values(1588262400006, 6)
sql insert into d3.t3 values(1588262400006, 6)
sql insert into d3.t3 values(1588262400006, 6)
sql insert into d4.t4 values(1588262400006, 6)
sql insert into d4.t4 values(1588262400006, 6)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 6 then
if $rows != 6 then
...
@@ -265,8 +413,4 @@ endi
...
@@ -265,8 +413,4 @@ endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode4 -s stop -x SIGINT
system sh/exec.sh -n dnode4 -s stop -x SIGINT
system sh/exec.sh -n dnode5 -s stop -x SIGINT
\ No newline at end of file
system sh/exec.sh -n dnode6 -s stop -x SIGINT
system sh/exec.sh -n dnode7 -s stop -x SIGINT
system sh/exec.sh -n dnode8 -s stop -x SIGINT
\ No newline at end of file
tests/script/unique/db/replica_part.sim
浏览文件 @
9f4a8ba7
...
@@ -14,6 +14,10 @@ system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 4
...
@@ -14,6 +14,10 @@ system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode1 -c balanceInterval -v 1
system sh/cfg.sh -n dnode2 -c balanceInterval -v 1
system sh/cfg.sh -n dnode3 -c balanceInterval -v 1
print ========= start dnodes
print ========= start dnodes
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sql connect
sql connect
...
@@ -21,7 +25,38 @@ sql create dnode $hostname2
...
@@ -21,7 +25,38 @@ sql create dnode $hostname2
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sql create dnode $hostname3
sql create dnode $hostname3
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 3000
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
sql show mnodes
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step1
endi
print ======== step1
print ======== step1
sql create database d1 replica 3
sql create database d1 replica 3
...
@@ -38,7 +73,6 @@ sql insert into d2.t2 values(now, 1)
...
@@ -38,7 +73,6 @@ sql insert into d2.t2 values(now, 1)
sql insert into d1.t1 values(now, 1)
sql insert into d1.t1 values(now, 1)
sql insert into d3.t3 values(now, 1)
sql insert into d3.t3 values(now, 1)
sql insert into d4.t4 values(now, 1)
sql insert into d4.t4 values(now, 1)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 1 then
if $rows != 1 then
...
@@ -61,24 +95,85 @@ if $rows != 1 then
...
@@ -61,24 +95,85 @@ if $rows != 1 then
endi
endi
print ========= step2 alter db
print ========= step2 alter db
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
sql alter database d1 replica 2
sql alter database d1 replica 2
sql alter database d2 replica 2
sql alter database d2 replica 2
sql alter database d3 replica 2
sql alter database d3 replica 2
sql alter database d4 replica 2
sql alter database d4 replica 2
sleep 5000
$x = 0
a1:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 2 then
goto a1
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 2 then
goto a1
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 2 then
goto a1
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 2 then
goto a1
endi
system sh/exec.sh -n dnode2 -s stop -x SIGINT
print ========= step3
print ========= step3
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 10000
$x = 0
step3:
$x = $x + 1
sleep 1000
if $x == 20 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step3
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step3
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step3
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step3
endi
print ========= step4
print ========= step4
sql insert into d1.t1 values(now, 2)
sql insert into d1.t1 values(now, 2)
sql insert into d2.t2 values(now, 2)
sql insert into d2.t2 values(now, 2)
sql insert into d3.t3 values(now, 2)
sql insert into d3.t3 values(now, 2)
sql insert into d4.t4 values(now, 2)
sql insert into d4.t4 values(now, 2)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 2 then
if $rows != 2 then
...
@@ -102,44 +197,104 @@ endi
...
@@ -102,44 +197,104 @@ endi
print ========= step5
print ========= step5
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql insert into d1.t1 values(now, 3) -x s1
sql insert into d1.t1 values(now, 3) -x s1
s1:
s1:
sql insert into d2.t2 values(now, 3) -x s2
#
sql insert into d2.t2 values(now, 3) -x s2
s2:
#
s2:
sql insert into d3.t3 values(now, 3) -x s3
#
sql insert into d3.t3 values(now, 3) -x s3
s3:
#
s3:
sql insert into d4.t4 values(now, 3) -x s4
#
sql insert into d4.t4 values(now, 3) -x s4
s4:
#
s4:
print ========= step6
print ========= step6
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 5000
$x = 0
step6:
$x = $x + 1
sleep 1000
if $x == 20 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step6
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step6
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step6
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step6
endi
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
sleep 5000
sql insert into d1.t1 values(now, 4) -x s5
#
sql insert into d1.t1 values(now, 4) -x s5
s5:
#
s5:
sql insert into d2.t2 values(now, 4) -x s6
sql insert into d2.t2 values(now, 4) -x s6
s6:
s6:
sql insert into d3.t3 values(now, 4) -x s7
#
sql insert into d3.t3 values(now, 4) -x s7
s7:
#
s7:
sql insert into d4.t4 values(now, 4) -x s8
#
sql insert into d4.t4 values(now, 4) -x s8
s8:
#
s8:
print ========= step7
print ========= step7
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 5000
$x = 0
step7:
$x = $x + 1
sleep 1000
if $x == 20 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step7
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step7
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step7
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step7
endi
sql insert into d1.t1 values(now, 5)
sql insert into d1.t1 values(now, 5)
sql insert into d2.t2 values(now, 5)
sql insert into d2.t2 values(now, 5)
sql insert into d3.t3 values(now, 5)
sql insert into d3.t3 values(now, 5)
sql insert into d4.t4 values(now, 5)
sql insert into d4.t4 values(now, 5)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
sql select * from d2.t2
sql select * from d2.t2
...
@@ -148,9 +303,4 @@ sql select * from d4.t4
...
@@ -148,9 +303,4 @@ sql select * from d4.t4
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode4 -s stop -x SIGINT
\ No newline at end of file
system sh/exec.sh -n dnode5 -s stop -x SIGINT
system sh/exec.sh -n dnode6 -s stop -x SIGINT
system sh/exec.sh -n dnode7 -s stop -x SIGINT
system sh/exec.sh -n dnode8 -s stop -x SIGINT
\ No newline at end of file
tests/script/unique/db/replica_reduce21.sim
浏览文件 @
9f4a8ba7
...
@@ -14,12 +14,42 @@ system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 4
...
@@ -14,12 +14,42 @@ system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode1 -c balanceInterval -v 1
system sh/cfg.sh -n dnode2 -c balanceInterval -v 1
system sh/cfg.sh -n dnode3 -c balanceInterval -v 1
system sh/cfg.sh -n dnode4 -c balanceInterval -v 1
print ========= start dnodes
print ========= start dnodes
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sql connect
sql connect
sql create dnode $hostname2
sql create dnode $hostname2
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 3000
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
sql show mnodes
print mnode1 $data2_1
print mnode1 $data2_2
if $data2_1 != master then
goto step1
endi
print ======== step1
print ======== step1
sql create database d1 replica 2
sql create database d1 replica 2
...
@@ -63,12 +93,25 @@ sql create database d5 replica 1
...
@@ -63,12 +93,25 @@ sql create database d5 replica 1
print ========= step3 alter d1
print ========= step3 alter d1
sql alter database d1 replica 1
sql alter database d1 replica 1
sleep 12000
$x = 0
a1:
$x = $x + 1
sleep 1000
if $x == 20 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 1 then
goto a1
endi
print ========= step4 query d1
print ========= step4 query d1
sql insert into d1.t1 values(now, 2)
sql insert into d1.t1 values(now, 2)
sql select * from d1.t1
sql select * from d1.t1
sleep 1000
if $rows != 2 then
if $rows != 2 then
return -1
return -1
endi
endi
...
@@ -77,22 +120,20 @@ print ========= step5 query d5
...
@@ -77,22 +120,20 @@ print ========= step5 query d5
sql create table d5.t5 (ts timestamp, i int)
sql create table d5.t5 (ts timestamp, i int)
sql insert into d5.t5 values(now, 1);
sql insert into d5.t5 values(now, 1);
sql select * from d5.t5
sql select * from d5.t5
sleep 1000
if $rows != 1 then
if $rows != 1 then
return -1
return -1
endi
endi
return
return
print ========= step7 drop d1
print ========= step7 drop d1
sql drop database d1
sql drop database d1
sleep 5000
sql reset query cache
sql reset query cache
sleep 100
print ========= step8
print ========= step8
sql insert into d5.t5 values(now, 2)
sql insert into d5.t5 values(now, 2)
sql insert into d2.t2 values(now, 2)
sql insert into d2.t2 values(now, 2)
sql insert into d3.t3 values(now, 2)
sql insert into d3.t3 values(now, 2)
sql insert into d4.t4 values(now, 2)
sql insert into d4.t4 values(now, 2)
sleep 1000
sql select * from d5.t5
sql select * from d5.t5
if $rows != 2 then
if $rows != 2 then
...
@@ -116,13 +157,11 @@ endi
...
@@ -116,13 +157,11 @@ endi
print ======== step9 stop dnode2
print ======== step9 stop dnode2
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
sql insert into d5.t5 values(now, 3)
sql insert into d5.t5 values(now, 3)
sql insert into d2.t2 values(now, 3)
sql insert into d2.t2 values(now, 3)
sql insert into d3.t3 values(now, 3)
sql insert into d3.t3 values(now, 3)
sql insert into d4.t4 values(now, 3)
sql insert into d4.t4 values(now, 3)
sleep 1000
sql select * from d5.t5
sql select * from d5.t5
if $rows != 3 then
if $rows != 3 then
...
@@ -145,10 +184,4 @@ if $rows != 3 then
...
@@ -145,10 +184,4 @@ if $rows != 3 then
endi
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
\ No newline at end of file
system sh/exec.sh -n dnode4 -s stop -x SIGINT
system sh/exec.sh -n dnode5 -s stop -x SIGINT
system sh/exec.sh -n dnode6 -s stop -x SIGINT
system sh/exec.sh -n dnode7 -s stop -x SIGINT
system sh/exec.sh -n dnode8 -s stop -x SIGINT
\ No newline at end of file
tests/script/unique/db/replica_reduce31.sim
浏览文件 @
9f4a8ba7
...
@@ -14,6 +14,11 @@ system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 4
...
@@ -14,6 +14,11 @@ system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode1 -c balanceInterval -v 1
system sh/cfg.sh -n dnode2 -c balanceInterval -v 1
system sh/cfg.sh -n dnode3 -c balanceInterval -v 1
system sh/cfg.sh -n dnode4 -c balanceInterval -v 1
print ========= start dnodes
print ========= start dnodes
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sql connect
sql connect
...
@@ -21,7 +26,38 @@ sql create dnode $hostname2
...
@@ -21,7 +26,38 @@ sql create dnode $hostname2
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sql create dnode $hostname3
sql create dnode $hostname3
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 3000
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
sql show mnodes
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step1
endi
print ======== step1
print ======== step1
sql create database d1 replica 3
sql create database d1 replica 3
...
@@ -38,7 +74,6 @@ sql insert into d1.t1 values(now, 1)
...
@@ -38,7 +74,6 @@ sql insert into d1.t1 values(now, 1)
sql insert into d2.t2 values(now, 1)
sql insert into d2.t2 values(now, 1)
sql insert into d3.t3 values(now, 1)
sql insert into d3.t3 values(now, 1)
sql insert into d4.t4 values(now, 1)
sql insert into d4.t4 values(now, 1)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 1 then
if $rows != 1 then
...
@@ -68,23 +103,70 @@ sql alter database d1 replica 2
...
@@ -68,23 +103,70 @@ sql alter database d1 replica 2
sql alter database d2 replica 2
sql alter database d2 replica 2
sql alter database d3 replica 2
sql alter database d3 replica 2
sleep 8000
$x = 0
a2:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 2 then
goto a2
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 2 then
goto a2
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 2 then
goto a2
endi
sql alter database d1 replica 1
sql alter database d1 replica 1
sql alter database d2 replica 1
sql alter database d2 replica 1
sql alter database d3 replica 1
sql alter database d3 replica 1
sleep 8000
$x = 0
a1:
$x = $x + 1
sleep 1000
if $x == 20 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 1 then
goto a1
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 1 then
goto a1
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 1 then
goto a1
endi
print ========= step3
print ========= step3
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql insert into d1.t1 values(now, 2)
sql insert into d1.t1 values(now, 2)
sql insert into d2.t2 values(now, 2)
sql insert into d2.t2 values(now, 2)
sql insert into d3.t3 values(now, 2)
sql insert into d3.t3 values(now, 2)
sql insert into d4.t4 values(now, 2)
sql insert into d4.t4 values(now, 2)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 2 then
if $rows != 2 then
...
@@ -110,13 +192,37 @@ print ========= step4 alter db
...
@@ -110,13 +192,37 @@ print ========= step4 alter db
sql alter database d1 replica 2
sql alter database d1 replica 2
sql alter database d2 replica 2
sql alter database d2 replica 2
sql alter database d3 replica 2
sql alter database d3 replica 2
sleep 8000
$x = 0
step4:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step4
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step4
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step4
endi
sql insert into d1.t1 values(now, 3)
sql insert into d1.t1 values(now, 3)
sql insert into d2.t2 values(now, 3)
sql insert into d2.t2 values(now, 3)
sql insert into d3.t3 values(now, 3)
sql insert into d3.t3 values(now, 3)
sql insert into d4.t4 values(now, 3)
sql insert into d4.t4 values(now, 3)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 3 then
if $rows != 3 then
...
@@ -140,10 +246,8 @@ endi
...
@@ -140,10 +246,8 @@ endi
print ========= step4
print ========= step4
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql insert into d1.t1 values(now, 4) -x step1
sql insert into d1.t1 values(now, 4) -x step1
step1:
step1:
...
@@ -156,9 +260,7 @@ step4:
...
@@ -156,9 +260,7 @@ step4:
print ========= step5
print ========= step5
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 5000
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
sleep 5000
sql insert into d1.t1 values(now, 5) -x step5
sql insert into d1.t1 values(now, 5) -x step5
step5:
step5:
...
@@ -171,13 +273,11 @@ step8:
...
@@ -171,13 +273,11 @@ step8:
print ========= step6
print ========= step6
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 5000
sql insert into d1.t1 values(now, 6)
sql insert into d1.t1 values(now, 6)
sql insert into d2.t2 values(now, 6)
sql insert into d2.t2 values(now, 6)
sql insert into d3.t3 values(now, 6)
sql insert into d3.t3 values(now, 6)
sql insert into d4.t4 values(now, 6)
sql insert into d4.t4 values(now, 6)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
sql select * from d2.t2
sql select * from d2.t2
...
@@ -186,9 +286,4 @@ sql select * from d4.t4
...
@@ -186,9 +286,4 @@ sql select * from d4.t4
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode4 -s stop -x SIGINT
\ No newline at end of file
system sh/exec.sh -n dnode5 -s stop -x SIGINT
system sh/exec.sh -n dnode6 -s stop -x SIGINT
system sh/exec.sh -n dnode7 -s stop -x SIGINT
system sh/exec.sh -n dnode8 -s stop -x SIGINT
\ No newline at end of file
tests/script/unique/db/replica_reduce32.sim
浏览文件 @
9f4a8ba7
...
@@ -14,6 +14,11 @@ system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 4
...
@@ -14,6 +14,11 @@ system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode1 -c balanceInterval -v 1
system sh/cfg.sh -n dnode2 -c balanceInterval -v 1
system sh/cfg.sh -n dnode3 -c balanceInterval -v 1
system sh/cfg.sh -n dnode4 -c balanceInterval -v 1
print ========= start dnodes
print ========= start dnodes
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sql connect
sql connect
...
@@ -21,7 +26,43 @@ sql create dnode $hostname2
...
@@ -21,7 +26,43 @@ sql create dnode $hostname2
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sql create dnode $hostname3
sql create dnode $hostname3
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 3000
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
sql show mnodes
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step1
endi
if $data2_2 != null then
goto step1
endi
if $data2_3 != null then
goto step1
endi
print ======== step1
print ======== step1
sql create database d1 replica 3
sql create database d1 replica 3
...
@@ -38,7 +79,6 @@ sql insert into d2.t2 values(now, 1)
...
@@ -38,7 +79,6 @@ sql insert into d2.t2 values(now, 1)
sql insert into d1.t1 values(now, 1)
sql insert into d1.t1 values(now, 1)
sql insert into d3.t3 values(now, 1)
sql insert into d3.t3 values(now, 1)
sql insert into d4.t4 values(now, 1)
sql insert into d4.t4 values(now, 1)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 1 then
if $rows != 1 then
...
@@ -65,14 +105,44 @@ sql alter database d1 replica 2
...
@@ -65,14 +105,44 @@ sql alter database d1 replica 2
sql alter database d2 replica 2
sql alter database d2 replica 2
sql alter database d3 replica 2
sql alter database d3 replica 2
sql alter database d4 replica 2
sql alter database d4 replica 2
sleep 12000
$x = 0
a1:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 2 then
goto a1
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 2 then
goto a1
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 2 then
goto a1
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 2 then
goto a1
endi
print ========= step3
print ========= step3
sql insert into d1.t1 values(now, 2)
sql insert into d1.t1 values(now, 2)
sql insert into d2.t2 values(now, 2)
sql insert into d2.t2 values(now, 2)
sql insert into d3.t3 values(now, 2)
sql insert into d3.t3 values(now, 2)
sql insert into d4.t4 values(now, 2)
sql insert into d4.t4 values(now, 2)
sleep 1000
sql select * from d1.t1
sql select * from d1.t1
if $rows != 2 then
if $rows != 2 then
...
@@ -95,40 +165,111 @@ if $rows != 2 then
...
@@ -95,40 +165,111 @@ if $rows != 2 then
endi
endi
sql reset query cache
sql reset query cache
sleep
10
00
sleep
2
00
print ========= step4
print ========= step4
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
sleep 5000
sql_error insert into d1.t1 values(now, 3)
sql insert into d1.t1 values(now, 3) -x s41
sql_error insert into d2.t2 values(now, 3)
s41:
sql_error insert into d3.t3 values(now, 3)
sql insert into d2.t2 values(now, 3) -x s42
sql_error insert into d4.t4 values(now, 3)
s42:
sql insert into d3.t3 values(now, 3) -x s43
s43:
sql insert into d4.t4 values(now, 3) -x s44
s44:
sql_error select * from d1.t1
sql select * from d1.t1 -x s45
sql_error select * from d2.t2
s45:
sql_error select * from d3.t3
sql select * from d2.t2 -x s46
sql_error select * from d4.t4
s46:
sql select * from d3.t3 -x s47
s47:
sql select * from d4.t4 -x s48
s48:
print ========= step5
print ========= step5
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 5000
$x = 0
system sh/exec.sh -n dnode3 -s stop -x SIGINT
step5:
sleep 5000
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step5
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step5
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step5
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step5
endi
system sh/exec.sh -n dnode3 -s stop -x SIGINT
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
sql_error insert into d1.t1 values(now, 3)
sql_error insert into d1.t1 values(now, 3) -x s51
sql_error insert into d2.t2 values(now, 3)
s51:
sql_error insert into d3.t3 values(now, 3)
sql_error insert into d2.t2 values(now, 3) -x s52
sql_error insert into d4.t4 values(now, 3)
s52:
sql_error insert into d3.t3 values(now, 3) -x s53
s53:
sql_error insert into d4.t4 values(now, 3) -x s54
s54:
print ========= step6
print ========= step6
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 5000
$x = 0
step6:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show d1.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step6
endi
sql show d2.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step6
endi
sql show d3.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step6
endi
sql show d4.vgroups
print online vnodes $data03
if $data03 != 2 then
goto step6
endi
sql insert into d1.t1 values(now, 5)
sql insert into d1.t1 values(now, 5)
sql insert into d2.t2 values(now, 5)
sql insert into d2.t2 values(now, 5)
...
@@ -150,9 +291,4 @@ print d4.t4 $rows
...
@@ -150,9 +291,4 @@ print d4.t4 $rows
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode4 -s stop -x SIGINT
\ No newline at end of file
system sh/exec.sh -n dnode5 -s stop -x SIGINT
system sh/exec.sh -n dnode6 -s stop -x SIGINT
system sh/exec.sh -n dnode7 -s stop -x SIGINT
system sh/exec.sh -n dnode8 -s stop -x SIGINT
\ No newline at end of file
tests/script/unique/dnode/balance1.sim
浏览文件 @
9f4a8ba7
...
@@ -33,7 +33,6 @@ system sh/cfg.sh -n dnode4 -c maxTablesPerVnode -v 4
...
@@ -33,7 +33,6 @@ system sh/cfg.sh -n dnode4 -c maxTablesPerVnode -v 4
print ========== step1
print ========== step1
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sql connect
sql connect
sleep 3000
sql create database d1
sql create database d1
sql create table d1.t1 (t timestamp, i int)
sql create table d1.t1 (t timestamp, i int)
...
@@ -50,15 +49,14 @@ if $data2_1 != 1 then
...
@@ -50,15 +49,14 @@ if $data2_1 != 1 then
endi
endi
print ========== step2
print ========== step2
sleep 2000
sql create dnode $hostname2
sql create dnode $hostname2
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
$x = 0
$x = 0
show2:
show2:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
...
@@ -124,8 +122,8 @@ system sh/exec.sh -n dnode3 -s start
...
@@ -124,8 +122,8 @@ system sh/exec.sh -n dnode3 -s start
$x = 0
$x = 0
show5:
show5:
$x = $x + 1
$x = $x + 1
sleep
3
000
sleep
1
000
if $x ==
2
0 then
if $x ==
3
0 then
return -1
return -1
endi
endi
...
@@ -174,8 +172,8 @@ system sh/exec.sh -n dnode4 -s start
...
@@ -174,8 +172,8 @@ system sh/exec.sh -n dnode4 -s start
$x = 0
$x = 0
show7:
show7:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
...
@@ -258,7 +256,7 @@ endi
...
@@ -258,7 +256,7 @@ endi
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
print ========== step10
print ========== step10
sql select * from d1.t1 order by t desc
sql select * from d1.t1 order by t desc
...
...
tests/script/unique/dnode/balance2.sim
浏览文件 @
9f4a8ba7
...
@@ -32,7 +32,29 @@ sql create dnode $hostname2
...
@@ -32,7 +32,29 @@ sql create dnode $hostname2
sql create dnode $hostname3
sql create dnode $hostname3
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 3000
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
sql create database d1 replica 2
sql create database d1 replica 2
sql create table d1.t1 (t timestamp, i int)
sql create table d1.t1 (t timestamp, i int)
...
@@ -70,8 +92,8 @@ sql drop dnode $hostname2
...
@@ -70,8 +92,8 @@ sql drop dnode $hostname2
$x = 0
$x = 0
show2:
show2:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
...
@@ -90,7 +112,6 @@ if $data2_3 != 2 then
...
@@ -90,7 +112,6 @@ if $data2_3 != 2 then
endi
endi
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
print ========== step3
print ========== step3
sql create dnode $hostname4
sql create dnode $hostname4
...
@@ -156,8 +177,8 @@ system sh/exec.sh -n dnode5 -s start
...
@@ -156,8 +177,8 @@ system sh/exec.sh -n dnode5 -s start
$x = 0
$x = 0
show5:
show5:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
...
@@ -189,8 +210,8 @@ sql drop dnode $hostname3
...
@@ -189,8 +210,8 @@ sql drop dnode $hostname3
$x = 0
$x = 0
show6:
show6:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
...
@@ -217,10 +238,8 @@ if $data2_5 != 3 then
...
@@ -217,10 +238,8 @@ if $data2_5 != 3 then
endi
endi
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
print ========== step7
print ========== step7
sql select * from d1.t1 order by t desc
sql select * from d1.t1 order by t desc
...
...
tests/script/unique/dnode/balance3.sim
浏览文件 @
9f4a8ba7
...
@@ -38,7 +38,32 @@ sql create dnode $hostname4
...
@@ -38,7 +38,32 @@ sql create dnode $hostname4
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode4 -s start
system sh/exec.sh -n dnode4 -s start
sleep 3000
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
if $data4_4 != ready then
goto step1
endi
sql create database d1 replica 3
sql create database d1 replica 3
sql create table d1.t1 (t timestamp, i int)
sql create table d1.t1 (t timestamp, i int)
...
@@ -81,7 +106,7 @@ sql drop dnode $hostname2
...
@@ -81,7 +106,7 @@ sql drop dnode $hostname2
$x = 0
$x = 0
show2:
show2:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x == 20 then
if $x == 20 then
return -1
return -1
endi
endi
...
@@ -106,7 +131,6 @@ if $data2_4 != 2 then
...
@@ -106,7 +131,6 @@ if $data2_4 != 2 then
endi
endi
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
print ========== step
print ========== step
sql create dnode $hostname5
sql create dnode $hostname5
system sh/exec.sh -n dnode5 -s start
system sh/exec.sh -n dnode5 -s start
...
@@ -114,8 +138,8 @@ system sh/exec.sh -n dnode5 -s start
...
@@ -114,8 +138,8 @@ system sh/exec.sh -n dnode5 -s start
$x = 0
$x = 0
show3:
show3:
$x = $x + 1
$x = $x + 1
sleep
4
000
sleep
1
000
if $x ==
15
then
if $x ==
60
then
return -1
return -1
endi
endi
...
@@ -154,8 +178,8 @@ sql insert into d3.t3 values(now+5s, 31)
...
@@ -154,8 +178,8 @@ sql insert into d3.t3 values(now+5s, 31)
$x = 0
$x = 0
show4:
show4:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
2
0 then
if $x ==
3
0 then
return -1
return -1
endi
endi
...
@@ -189,8 +213,8 @@ system sh/exec.sh -n dnode6 -s start
...
@@ -189,8 +213,8 @@ system sh/exec.sh -n dnode6 -s start
$x = 0
$x = 0
show5:
show5:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
...
@@ -216,8 +240,8 @@ sql drop dnode $hostname3
...
@@ -216,8 +240,8 @@ sql drop dnode $hostname3
$x = 0
$x = 0
show6:
show6:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
2
0 then
if $x ==
3
0 then
return -1
return -1
endi
endi
...
@@ -245,10 +269,8 @@ if $data2_5 != 3 then
...
@@ -245,10 +269,8 @@ if $data2_5 != 3 then
endi
endi
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
sleep 5000
sql reset query cache
sql reset query cache
sleep 100
0
sleep 100
print ========== step7
print ========== step7
sql select * from d1.t1 order by t desc
sql select * from d1.t1 order by t desc
...
...
tests/script/unique/dnode/offline3.sim
0 → 100644
浏览文件 @
9f4a8ba7
system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/deploy.sh -n dnode2 -i 2
system sh/deploy.sh -n dnode3 -i 3
system sh/deploy.sh -n dnode4 -i 4
system sh/cfg.sh -n dnode1 -c offlineThreshold -v 3
system sh/cfg.sh -n dnode2 -c offlineThreshold -v 3
system sh/cfg.sh -n dnode3 -c offlineThreshold -v 3
system sh/cfg.sh -n dnode4 -c offlineThreshold -v 3
system sh/cfg.sh -n dnode1 -c balanceInterval -v 300
system sh/cfg.sh -n dnode2 -c balanceInterval -v 300
system sh/cfg.sh -n dnode3 -c balanceInterval -v 300
system sh/cfg.sh -n dnode4 -c balanceInterval -v 300
system sh/cfg.sh -n dnode1 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode2 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mnodeEqualVnodeNum -v 4
system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 4
print ========== step1
system sh/exec.sh -n dnode1 -s start
sql connect
sql create dnode $hostname2
system sh/exec.sh -n dnode2 -s start
sql create dnode $hostname3
system sh/exec.sh -n dnode3 -s start
sql create dnode $hostname4
system sh/exec.sh -n dnode4 -s start
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
if $data4_4 != ready then
goto step1
endi
sql show mnodes
print mnode1 $data2_1
if $data2_1 != master then
goto step1
endi
print ========== step2
sql create database db replica 3
sql use db
sql create table tb (ts timestamp, value int)
sql insert into tb values (now, 1)
sql insert into tb values (now, 2)
sql show vgroups;
print $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
print ========== step2
system sh/exec.sh -n dnode4 -s stop -x SIGINT
$x = 0
step2:
$x = $x + 1
sleep 1000
if $x == 20 then
return -1
endi
sql show vgroups;
print $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step2
endi
if $data4_2 != ready then
goto step2
endi
if $data4_3 != ready then
goto step2
endi
if $data4_4 != null then
goto step2
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
\ No newline at end of file
tests/script/unique/dnode/reason.sim
浏览文件 @
9f4a8ba7
...
@@ -5,7 +5,6 @@ system sh/deploy.sh -n dnode2 -i 2
...
@@ -5,7 +5,6 @@ system sh/deploy.sh -n dnode2 -i 2
print ========== step1
print ========== step1
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
sql create dnode $hostname2
sql create dnode $hostname2
...
@@ -18,38 +17,75 @@ endi
...
@@ -18,38 +17,75 @@ endi
print ========== step2
print ========== step2
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 3000
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
sql show dnodes
print dnode1 off: $data7_1
print dnode1 $data4_1
print dnode2 off: $data7_2
print dnode2 $data4_2
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
print ========== step3
print ========== step3
system sh/exec.sh -n dnode2 -s stop
system sh/exec.sh -n dnode2 -s stop
sleep 3000
$x = 0
step3:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
sql show dnodes
print dnode1 off: $data7_1
print dnode1 off: $data7_1
print dnode2 off: $data7_2
print dnode2 off: $data7_2
if $data7_2 != @status msg timeout@ then
if $data7_2 != @status msg timeout@ then
return -1
goto step3
endi
endi
print ========== step4
print ========== step4
sql drop dnode $hostname2
sql drop dnode $hostname2
sleep 5000
$x = 0
step4:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
sql show dnodes
if $rows != 1 then
if $rows != 1 then
return -1
goto step4
endi
endi
print ========== step5
print ========== step5
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sql create dnode $hostname2
sql create dnode $hostname2
sleep 3000
$x = 0
step5:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
sql show dnodes
print dnode1 off: $data7_1
print dnode1 off: $data7_1
print dnode2 off: $data7_3
print dnode2 off: $data7_3
if $data7_3 != @dnodeId not match@ then
if $data7_3 != @dnodeId not match@ then
return -1
goto step5
endi
endi
print ========== step6
print ========== step6
...
@@ -58,12 +94,19 @@ system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 3
...
@@ -58,12 +94,19 @@ system sh/cfg.sh -n dnode4 -c mnodeEqualVnodeNum -v 3
system sh/exec.sh -n dnode4 -s start
system sh/exec.sh -n dnode4 -s start
sql create dnode $hostname4
sql create dnode $hostname4
sleep 3000
$x = 0
step6:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
sql show dnodes
print dnode1 off: $data7_1
print dnode1 off: $data7_1
print dnode4 off: $data7_4
print dnode4 off: $data7_4
if $data7_4 != @mnEqualVn not match@ then
if $data7_4 != @mnEqualVn not match@ then
return -1
goto step6
endi
endi
print ========== step7
print ========== step7
...
@@ -72,12 +115,19 @@ system sh/cfg.sh -n dnode5 -c statusInterval -v 3
...
@@ -72,12 +115,19 @@ system sh/cfg.sh -n dnode5 -c statusInterval -v 3
system sh/exec.sh -n dnode5 -s start
system sh/exec.sh -n dnode5 -s start
sql create dnode $hostname5
sql create dnode $hostname5
sleep 3000
$x = 0
step7:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
sql show dnodes
print dnode1 off: $data7_1
print dnode1 off: $data7_1
print dnode5 off: $data7_5
print dnode5 off: $data7_5
if $data7_5 != @interval not match@ then
if $data7_5 != @interval not match@ then
return -1
goto step7
endi
endi
print ========== step8
print ========== step8
...
@@ -86,12 +136,19 @@ system sh/cfg.sh -n dnode6 -c balance -v 0
...
@@ -86,12 +136,19 @@ system sh/cfg.sh -n dnode6 -c balance -v 0
system sh/exec.sh -n dnode6 -s start
system sh/exec.sh -n dnode6 -s start
sql create dnode $hostname6
sql create dnode $hostname6
sleep 3000
$x = 0
step8:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
sql show dnodes
print dnode1 off: $data7_1
print dnode1 off: $data7_1
print dnode6 off: $data7_6
print dnode6 off: $data7_6
if $data7_6 != @balance not match@ then
if $data7_6 != @balance not match@ then
return -1
goto step8
endi
endi
print ========== step9
print ========== step9
...
@@ -100,12 +157,19 @@ system sh/cfg.sh -n dnode7 -c maxTablesPerVnode -v 3000
...
@@ -100,12 +157,19 @@ system sh/cfg.sh -n dnode7 -c maxTablesPerVnode -v 3000
system sh/exec.sh -n dnode7 -s start
system sh/exec.sh -n dnode7 -s start
sql create dnode $hostname7
sql create dnode $hostname7
sleep 3000
$x = 0
step9:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
sql show dnodes
print dnode1 off: $data7_1
print dnode1 off: $data7_1
print dnode7 off: $data7_7
print dnode7 off: $data7_7
if $data7_7 != @maxTabPerVn not match@ then
if $data7_7 != @maxTabPerVn not match@ then
return -1
goto step9
endi
endi
print ========== step10
print ========== step10
...
@@ -114,12 +178,19 @@ system sh/cfg.sh -n dnode8 -c maxVgroupsPerDb -v 3
...
@@ -114,12 +178,19 @@ system sh/cfg.sh -n dnode8 -c maxVgroupsPerDb -v 3
system sh/exec.sh -n dnode8 -s start
system sh/exec.sh -n dnode8 -s start
sql create dnode $hostname8
sql create dnode $hostname8
sleep 3000
$x = 0
step10:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
sql show dnodes
print dnode1 off: $data7_1
print dnode1 off: $data7_1
print dnode8 off: $data7_8
print dnode8 off: $data7_8
if $data7_8 != @maxVgPerDb not match@ then
if $data7_8 != @maxVgPerDb not match@ then
return -1
goto step10
endi
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
...
...
tests/script/unique/dnode/remove1.sim
浏览文件 @
9f4a8ba7
...
@@ -22,7 +22,6 @@ system sh/cfg.sh -n dnode4 -c maxTablesPerVnode -v 4
...
@@ -22,7 +22,6 @@ system sh/cfg.sh -n dnode4 -c maxTablesPerVnode -v 4
print ========== step1
print ========== step1
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
sql create database d1
sql create database d1
...
@@ -50,7 +49,26 @@ endi
...
@@ -50,7 +49,26 @@ endi
print ========== step2
print ========== step2
sql create dnode $hostname2
sql create dnode $hostname2
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 9000
$x = 0
step2:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step2
endi
if $data4_2 != ready then
goto step2
endi
sql create database d3 replica 2
sql create database d3 replica 2
sql create table d3.t3 (t timestamp, i int)
sql create table d3.t3 (t timestamp, i int)
...
@@ -81,12 +99,11 @@ endi
...
@@ -81,12 +99,11 @@ endi
print ========== step3
print ========== step3
sql drop dnode $hostname2
sql drop dnode $hostname2
sleep 7001
$x = 0
$x = 0
show3:
show3:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
...
@@ -101,8 +118,8 @@ system sh/exec.sh -n dnode3 -s start
...
@@ -101,8 +118,8 @@ system sh/exec.sh -n dnode3 -s start
$x = 0
$x = 0
show4:
show4:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
...
@@ -115,7 +132,6 @@ if $data2_2 != null then
...
@@ -115,7 +132,6 @@ if $data2_2 != null then
endi
endi
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
print ========== step5
print ========== step5
sql create dnode $hostname4
sql create dnode $hostname4
...
@@ -124,8 +140,8 @@ system sh/exec.sh -n dnode4 -s start
...
@@ -124,8 +140,8 @@ system sh/exec.sh -n dnode4 -s start
$x = 0
$x = 0
show5:
show5:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
sql show dnodes
sql show dnodes
...
...
tests/script/unique/dnode/remove2.sim
浏览文件 @
9f4a8ba7
...
@@ -22,7 +22,6 @@ system sh/cfg.sh -n dnode4 -c maxTablesPerVnode -v 4
...
@@ -22,7 +22,6 @@ system sh/cfg.sh -n dnode4 -c maxTablesPerVnode -v 4
print ========== step1
print ========== step1
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
sql create database d1
sql create database d1
...
@@ -50,7 +49,26 @@ endi
...
@@ -50,7 +49,26 @@ endi
print ========== step2
print ========== step2
sql create dnode $hostname2
sql create dnode $hostname2
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 9000
$x = 0
step2:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step2
endi
if $data4_2 != ready then
goto step2
endi
sql create database d3 replica 2
sql create database d3 replica 2
sql create table d3.t3 (t timestamp, i int)
sql create table d3.t3 (t timestamp, i int)
...
@@ -81,7 +99,6 @@ endi
...
@@ -81,7 +99,6 @@ endi
print ========== step3
print ========== step3
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sql drop dnode $hostname2
sql drop dnode $hostname2
sleep 5000
sql show dnodes
sql show dnodes
print dnode1 openVnodes $data2_1
print dnode1 openVnodes $data2_1
...
@@ -91,14 +108,20 @@ print ========== step4
...
@@ -91,14 +108,20 @@ print ========== step4
sql create dnode $hostname3
sql create dnode $hostname3
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 5000
$x = 0
step4:
$x = $x + 1
sleep 1000
if $x == 20 then
return -1
endi
sql show dnodes
sql show dnodes
print dnode1 openVnodes $data2_1
print dnode1 openVnodes $data2_1
print dnode2 openVnodes $data2_2
print dnode2 openVnodes $data2_2
print dnode3 openVnodes $data2_3
print dnode3 openVnodes $data2_3
if $data2_3 != 0 then
if $data2_3 != 0 then
return -1
goto step4
endi
endi
print ============ step 4.1
print ============ step 4.1
...
@@ -107,8 +130,8 @@ system sh/exec.sh -n dnode2 -s start
...
@@ -107,8 +130,8 @@ system sh/exec.sh -n dnode2 -s start
$x = 0
$x = 0
show4:
show4:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
...
...
tests/script/unique/dnode/vnode_clean.sim
浏览文件 @
9f4a8ba7
...
@@ -45,8 +45,8 @@ system sh/exec.sh -n dnode2 -s start
...
@@ -45,8 +45,8 @@ system sh/exec.sh -n dnode2 -s start
$x = 0
$x = 0
show2:
show2:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
sql show dnodes
sql show dnodes
...
@@ -86,8 +86,8 @@ sql drop dnode $hostname2
...
@@ -86,8 +86,8 @@ sql drop dnode $hostname2
$x = 0
$x = 0
show4:
show4:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
sql show dnodes
sql show dnodes
...
@@ -106,15 +106,14 @@ endi
...
@@ -106,15 +106,14 @@ endi
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
print ========== step5
print ========== step5
sleep 5000
sql create dnode $hostname3
sql create dnode $hostname3
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
$x = 0
$x = 0
show5:
show5:
$x = $x + 1
$x = $x + 1
sleep
3
000
sleep
1
000
if $x ==
2
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
sql show dnodes
sql show dnodes
...
@@ -153,8 +152,8 @@ system sh/exec.sh -n dnode4 -s start
...
@@ -153,8 +152,8 @@ system sh/exec.sh -n dnode4 -s start
$x = 0
$x = 0
show7:
show7:
$x = $x + 1
$x = $x + 1
sleep
3
000
sleep
1
000
if $x ==
2
0 then
if $x ==
4
0 then
return -1
return -1
endi
endi
...
@@ -184,8 +183,8 @@ sql insert into d4.t4 values(now+5s, 41)
...
@@ -184,8 +183,8 @@ sql insert into d4.t4 values(now+5s, 41)
$x = 0
$x = 0
show8:
show8:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
sql show dnodes
sql show dnodes
...
@@ -208,8 +207,8 @@ sql drop dnode $hostname3
...
@@ -208,8 +207,8 @@ sql drop dnode $hostname3
$x = 0
$x = 0
show9:
show9:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
...
@@ -228,7 +227,6 @@ if $data2_4 != 4 then
...
@@ -228,7 +227,6 @@ if $data2_4 != 4 then
endi
endi
system sh/exec.sh -n dnode3 -s stop
system sh/exec.sh -n dnode3 -s stop
sleep 5000
print ========== step10
print ========== step10
sql select * from d1.t1 order by t desc
sql select * from d1.t1 order by t desc
...
...
tests/script/unique/import/replica2.sim
浏览文件 @
9f4a8ba7
...
@@ -27,11 +27,30 @@ system sh/cfg.sh -n dnode4 -c walLevel -v 2
...
@@ -27,11 +27,30 @@ system sh/cfg.sh -n dnode4 -c walLevel -v 2
print ========= start dnode1
print ========= start dnode1
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
sql create dnode $hostname2
sql create dnode $hostname2
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
sql create database ir2db replica 2 days 7
sql create database ir2db replica 2 days 7
sql use ir2db
sql use ir2db
...
@@ -96,9 +115,22 @@ endi
...
@@ -96,9 +115,22 @@ endi
print ================== dnode restart
print ================== dnode restart
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5000
$x = 0
a1:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show vgroups
print online vnodes $data03
if $data03 != 2 then
goto a1
endi
sql select * from tb;
sql select * from tb;
if $rows != 14 then
if $rows != 14 then
return -1
return -1
...
@@ -163,9 +195,22 @@ endi
...
@@ -163,9 +195,22 @@ endi
print ================= step10
print ================= step10
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5000
$x = 0
a2:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show vgroups
print online vnodes $data03
if $data03 != 2 then
goto a2
endi
sql select * from tb;
sql select * from tb;
print $rows
print $rows
if $rows != 35 then
if $rows != 35 then
...
@@ -193,9 +238,20 @@ endi
...
@@ -193,9 +238,20 @@ endi
print ================= step13
print ================= step13
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep 5000
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 5000
$x = 0
a3:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show vgroups
print online vnodes $data03
if $data03 != 2 then
goto a3
endi
print ================= step14
print ================= step14
#1520000000000
#1520000000000
...
@@ -214,12 +270,24 @@ endi
...
@@ -214,12 +270,24 @@ endi
print ================= step15
print ================= step15
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5000
$x = 0
a4:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show vgroups
print online vnodes $data03
if $data03 != 2 then
goto a4
endi
sql select * from tb;
if $rows != 52 then
if $rows != 52 then
return -1
goto a4
endi
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
...
...
tests/script/unique/import/replica3.sim
浏览文件 @
9f4a8ba7
...
@@ -27,7 +27,6 @@ system sh/cfg.sh -n dnode4 -c walLevel -v 2
...
@@ -27,7 +27,6 @@ system sh/cfg.sh -n dnode4 -c walLevel -v 2
print ========= start dnode1
print ========= start dnode1
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
sql create dnode $hostname2
sql create dnode $hostname2
...
@@ -35,6 +34,29 @@ sql create dnode $hostname3
...
@@ -35,6 +34,29 @@ sql create dnode $hostname3
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
sql create database ir3db replica 3 days 7
sql create database ir3db replica 3 days 7
sql use ir3db
sql use ir3db
...
@@ -99,9 +121,20 @@ endi
...
@@ -99,9 +121,20 @@ endi
print ================== dnode restart
print ================== dnode restart
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5000
$x = 0
a4:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show vgroups
print online vnodes $data03
if $data03 != 3 then
goto a4
endi
sql select * from tb;
sql select * from tb;
if $rows != 14 then
if $rows != 14 then
return -1
return -1
...
@@ -166,9 +199,21 @@ endi
...
@@ -166,9 +199,21 @@ endi
print ================= step10
print ================= step10
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
sleep 5000
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 5000
$x = 0
step10:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show vgroups
print online vnodes $data03
if $data03 != 3 then
goto step10
endi
sql select * from tb;
sql select * from tb;
print $rows
print $rows
if $rows != 35 then
if $rows != 35 then
...
@@ -217,10 +262,21 @@ endi
...
@@ -217,10 +262,21 @@ endi
print ================= step15
print ================= step15
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
sleep 5000
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 5000
$x = 0
step15:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show vgroups
print online vnodes $data03
if $data03 != 3 then
goto step15
endi
sql select * from tb;
if $rows != 52 then
if $rows != 52 then
return -1
return -1
endi
endi
...
...
tests/script/unique/mnode/mgmt20.sim
浏览文件 @
9f4a8ba7
...
@@ -11,7 +11,6 @@ system sh/cfg.sh -n dnode2 -c monitor -v 1
...
@@ -11,7 +11,6 @@ system sh/cfg.sh -n dnode2 -c monitor -v 1
print ============== step1
print ============== step1
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 3000
sql connect
sql connect
print ============== step2
print ============== step2
...
@@ -20,8 +19,8 @@ sql create dnode $hostname2
...
@@ -20,8 +19,8 @@ sql create dnode $hostname2
$x = 0
$x = 0
show2:
show2:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
...
...
tests/script/unique/mnode/mgmt22.sim
浏览文件 @
9f4a8ba7
...
@@ -9,7 +9,6 @@ system sh/cfg.sh -n dnode3 -c numOfMnodes -v 2
...
@@ -9,7 +9,6 @@ system sh/cfg.sh -n dnode3 -c numOfMnodes -v 2
print ============== step1
print ============== step1
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
sql show mnodes
sql show mnodes
...
@@ -26,8 +25,8 @@ sql create dnode $hostname2
...
@@ -26,8 +25,8 @@ sql create dnode $hostname2
$x = 0
$x = 0
show2:
show2:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
...
@@ -64,8 +63,8 @@ sql connect
...
@@ -64,8 +63,8 @@ sql connect
$x = 0
$x = 0
show6:
show6:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
...
@@ -82,13 +81,12 @@ endi
...
@@ -82,13 +81,12 @@ endi
print ============== step7
print ============== step7
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sql create dnode $hostname3
sql create dnode $hostname3
sleep 5000
$x = 0
$x = 0
show7:
show7:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
...
...
tests/script/unique/mnode/mgmt23.sim
浏览文件 @
9f4a8ba7
...
@@ -25,8 +25,8 @@ sql create dnode $hostname2
...
@@ -25,8 +25,8 @@ sql create dnode $hostname2
$x = 0
$x = 0
show2:
show2:
$x = $x + 1
$x = $x + 1
sleep
2
000
sleep
1
000
if $x ==
1
0 then
if $x ==
2
0 then
return -1
return -1
endi
endi
...
@@ -65,7 +65,14 @@ endi
...
@@ -65,7 +65,14 @@ endi
print ============== step4
print ============== step4
sql drop dnode $hostname2
sql drop dnode $hostname2
sleep 10000
$x = 0
step4:
$x = $x + 1
sleep 1000
if $x == 20 then
return -1
endi
sql show mnodes
sql show mnodes
$dnode1Role = $data2_1
$dnode1Role = $data2_1
...
@@ -76,13 +83,13 @@ print dnode2 ==> $dnode2Role
...
@@ -76,13 +83,13 @@ print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode3 ==> $dnode3Role
if $dnode1Role != master then
if $dnode1Role != master then
return -1
goto step4
endi
endi
if $dnode2Role != null then
if $dnode2Role != null then
return -1
goto step4
endi
endi
if $dnode3Role != slave then
if $dnode3Role != slave then
return -1
goto step4
endi
endi
system sh/exec.sh -n dnode2 -s stop
system sh/exec.sh -n dnode2 -s stop
...
@@ -93,7 +100,14 @@ sql create dnode $hostname2
...
@@ -93,7 +100,14 @@ sql create dnode $hostname2
system sh/deploy.sh -n dnode2 -i 2
system sh/deploy.sh -n dnode2 -i 2
system sh/cfg.sh -n dnode2 -c numOfMnodes -v 2
system sh/cfg.sh -n dnode2 -c numOfMnodes -v 2
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 8000
$x = 0
step5:
$x = $x + 1
sleep 1000
if $x == 20 then
return -1
endi
sql show mnodes
sql show mnodes
$dnode1Role = $data2_1
$dnode1Role = $data2_1
...
@@ -104,19 +118,17 @@ print dnode2 ==> $dnode2Role
...
@@ -104,19 +118,17 @@ print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode3 ==> $dnode3Role
if $dnode1Role != master then
if $dnode1Role != master then
return -1
goto step5
endi
endi
if $dnode2Role != null then
if $dnode2Role != null then
return -1
goto step5
endi
endi
if $dnode3Role != slave then
if $dnode3Role != slave then
return -1
goto step5
endi
endi
print ============== step6
print ============== step6
system sh/exec.sh -n dnode1 -s stop
system sh/exec.sh -n dnode1 -s stop
sleep 10000
sql_error show mnodes
sql_error show mnodes
print ============== step7
print ============== step7
...
@@ -126,7 +138,4 @@ system sh/exec.sh -n dnode1 -s stop -x SIGINT
...
@@ -126,7 +138,4 @@ system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode4 -s stop -x SIGINT
system sh/exec.sh -n dnode4 -s stop -x SIGINT
system sh/exec.sh -n dnode5 -s stop -x SIGINT
system sh/exec.sh -n dnode5 -s stop -x SIGINT
system sh/exec.sh -n dnode6 -s stop -x SIGINT
\ No newline at end of file
system sh/exec.sh -n dnode7 -s stop -x SIGINT
system sh/exec.sh -n dnode8 -s stop -x SIGINT
\ No newline at end of file
tests/script/unique/mnode/mgmt33.sim
浏览文件 @
9f4a8ba7
...
@@ -28,7 +28,14 @@ endi
...
@@ -28,7 +28,14 @@ endi
print ============== step2
print ============== step2
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sql create dnode $hostname2
sql create dnode $hostname2
sleep 8000
$x = 0
step2:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes
sql show mnodes
$dnode1Role = $data2_1
$dnode1Role = $data2_1
...
@@ -39,19 +46,26 @@ print dnode2 ==> $dnode2Role
...
@@ -39,19 +46,26 @@ print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode3 ==> $dnode3Role
if $dnode1Role != master then
if $dnode1Role != master then
return -1
goto step2
endi
endi
if $dnode2Role != slave then
if $dnode2Role != slave then
return -1
goto step2
endi
endi
if $dnode3Role != null then
if $dnode3Role != null then
return -1
goto step2
endi
endi
print ============== step3
print ============== step3
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sql create dnode $hostname3
sql create dnode $hostname3
sleep 8000
$x = 0
step3:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes
sql show mnodes
$dnode1Role = $data2_1
$dnode1Role = $data2_1
...
@@ -62,18 +76,25 @@ print dnode2 ==> $dnode2Role
...
@@ -62,18 +76,25 @@ print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode3 ==> $dnode3Role
if $dnode1Role != master then
if $dnode1Role != master then
return -1
goto step3
endi
endi
if $dnode2Role != slave then
if $dnode2Role != slave then
return -1
goto step3
endi
endi
if $dnode3Role != slave then
if $dnode3Role != slave then
return -1
goto step3
endi
endi
print ============== step4
print ============== step4
sql drop dnode $hostname2
sql drop dnode $hostname2
sleep 8000
$x = 0
step4:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes
sql show mnodes
$dnode1Role = $data2_1
$dnode1Role = $data2_1
...
@@ -84,25 +105,30 @@ print dnode2 ==> $dnode2Role
...
@@ -84,25 +105,30 @@ print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode3 ==> $dnode3Role
if $dnode1Role != master then
if $dnode1Role != master then
return -1
goto step4
endi
endi
if $dnode2Role != null then
if $dnode2Role != null then
return -1
goto step4
endi
endi
if $dnode3Role != slave then
if $dnode3Role != slave then
return -1
goto step4
endi
endi
system sh/exec.sh -n dnode2 -s stop
system sh/exec.sh -n dnode2 -s stop
sleep 3000
system sh/deploy.sh -n dnode2 -i 2
system sh/deploy.sh -n dnode2 -i 2
system sh/cfg.sh -n dnode2 -c numOfMnodes -v 3
system sh/cfg.sh -n dnode2 -c numOfMnodes -v 3
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
print ============== step5
print ============== step5
sql create dnode $hostname2
sql create dnode $hostname2
sleep 8000
$x = 0
step5:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes
sql show mnodes
$dnode1Role = $data2_1
$dnode1Role = $data2_1
...
@@ -113,20 +139,26 @@ print dnode2 ==> $dnode2Role
...
@@ -113,20 +139,26 @@ print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode3 ==> $dnode3Role
if $dnode1Role != master then
if $dnode1Role != master then
return -1
goto step5
endi
endi
if $dnode2Role != slave then
if $dnode2Role != slave then
return -1
goto step5
endi
endi
if $dnode3Role != slave then
if $dnode3Role != slave then
return -1
goto step5
endi
endi
print ============== step6
print ============== step6
system sh/exec.sh -n dnode1 -s stop
system sh/exec.sh -n dnode1 -s stop
sleep 10000
$x = 0
step6:
sql show mnodes
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step6
$dnode1Role = $data2_1
$dnode1Role = $data2_1
$dnode2Role = $data2_4
$dnode2Role = $data2_4
$dnode3Role = $data2_3
$dnode3Role = $data2_3
...
@@ -135,7 +167,7 @@ print dnode2 ==> $dnode2Role
...
@@ -135,7 +167,7 @@ print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode3 ==> $dnode3Role
if $dnode1Role != offline then
if $dnode1Role != offline then
return -1
goto step6
endi
endi
#if $dnode2Role != master then
#if $dnode2Role != master then
# return -1
# return -1
...
@@ -146,9 +178,15 @@ endi
...
@@ -146,9 +178,15 @@ endi
print ============== step7
print ============== step7
sql drop dnode $hostname1
sql drop dnode $hostname1
sleep 8000
$x = 0
step7:
sql show mnodes
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes -x step7
$dnode1Role = $data2_1
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode3Role = $data2_3
...
@@ -157,7 +195,7 @@ print dnode2 ==> $dnode2Role
...
@@ -157,7 +195,7 @@ print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode3 ==> $dnode3Role
if $dnode1Role != null then
if $dnode1Role != null then
return -1
goto step7
endi
endi
#if $dnode2Role != master then
#if $dnode2Role != master then
# return -1
# return -1
...
...
tests/script/unique/mnode/mgmt34.sim
浏览文件 @
9f4a8ba7
...
@@ -12,7 +12,6 @@ system sh/cfg.sh -n dnode4 -c numOfMnodes -v 3
...
@@ -12,7 +12,6 @@ system sh/cfg.sh -n dnode4 -c numOfMnodes -v 3
print ============== step1
print ============== step1
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
sql connect
sql show mnodes
sql show mnodes
...
@@ -32,7 +31,13 @@ endi
...
@@ -32,7 +31,13 @@ endi
print ============== step2
print ============== step2
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sql create dnode $hostname2
sql create dnode $hostname2
sleep 8000
$x = 0
step2:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes
sql show mnodes
$dnode1Role = $data2_1
$dnode1Role = $data2_1
...
@@ -45,22 +50,29 @@ print dnode3 ==> $dnode3Role
...
@@ -45,22 +50,29 @@ print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print dnode4 ==> $dnode4Role
if $dnode1Role != master then
if $dnode1Role != master then
return -1
goto step2
endi
endi
if $dnode2Role != slave then
if $dnode2Role != slave then
return -1
goto step2
endi
endi
if $dnode3Role != null then
if $dnode3Role != null then
return -1
goto step2
endi
endi
if $dnode4Role != null then
if $dnode4Role != null then
return -1
goto step2
endi
endi
print ============== step3
print ============== step3
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sql create dnode $hostname3
sql create dnode $hostname3
sleep 8000
$x = 0
step3:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes
sql show mnodes
$dnode1Role = $data2_1
$dnode1Role = $data2_1
...
@@ -73,23 +85,29 @@ print dnode3 ==> $dnode3Role
...
@@ -73,23 +85,29 @@ print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print dnode4 ==> $dnode4Role
if $dnode1Role != master then
if $dnode1Role != master then
return -1
goto step3
endi
endi
if $dnode2Role != slave then
if $dnode2Role != slave then
return -1
goto step3
endi
endi
if $dnode3Role != slave then
if $dnode3Role != slave then
return -1
goto step3
endi
endi
if $dnode4Role != null then
if $dnode4Role != null then
return -1
goto step3
endi
endi
print ============== step4
print ============== step4
system sh/exec.sh -n dnode4 -s start
system sh/exec.sh -n dnode4 -s start
sql create dnode $hostname4
sql create dnode $hostname4
sleep 8000
$x = 0
step4:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes
sql show mnodes
$dnode1Role = $data2_1
$dnode1Role = $data2_1
...
@@ -102,21 +120,27 @@ print dnode3 ==> $dnode3Role
...
@@ -102,21 +120,27 @@ print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print dnode4 ==> $dnode4Role
if $dnode1Role != master then
if $dnode1Role != master then
return -1
goto step4
endi
endi
if $dnode2Role != slave then
if $dnode2Role != slave then
return -1
goto step4
endi
endi
if $dnode3Role != slave then
if $dnode3Role != slave then
return -1
goto step4
endi
endi
if $dnode4Role != null then
if $dnode4Role != null then
return -1
goto step4
endi
endi
print ============== step5
print ============== step5
sql drop dnode $hostname2
sql drop dnode $hostname2
sleep 8000
$x = 0
step5:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes
sql show mnodes
$dnode1Role = $data2_1
$dnode1Role = $data2_1
...
@@ -129,28 +153,32 @@ print dnode3 ==> $dnode3Role
...
@@ -129,28 +153,32 @@ print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print dnode4 ==> $dnode4Role
if $dnode1Role != master then
if $dnode1Role != master then
return -1
goto step5
endi
endi
if $dnode2Role != null then
if $dnode2Role != null then
return -1
goto step5
endi
endi
if $dnode3Role != slave then
if $dnode3Role != slave then
return -1
goto step5
endi
endi
if $dnode4Role != slave then
if $dnode4Role != slave then
return -1
goto step5
endi
endi
system sh/exec.sh -n dnode2 -s stop
system sh/exec.sh -n dnode2 -s stop
sleep 3000
system sh/deploy.sh -n dnode2 -i 2
system sh/deploy.sh -n dnode2 -i 2
system sh/cfg.sh -n dnode2 -c numOfMnodes -v 3
system sh/cfg.sh -n dnode2 -c numOfMnodes -v 3
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
print ============== step6
print ============== step6
sql create dnode $hostname2
sql create dnode $hostname2
sleep 8000
$x = 0
step6:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes
sql show mnodes
$dnode1Role = $data2_1
$dnode1Role = $data2_1
...
@@ -163,23 +191,29 @@ print dnode3 ==> $dnode3Role
...
@@ -163,23 +191,29 @@ print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print dnode4 ==> $dnode4Role
if $dnode1Role != master then
if $dnode1Role != master then
return -1
goto step6
endi
endi
if $dnode2Role != null then
if $dnode2Role != null then
return -1
goto step6
endi
endi
if $dnode3Role != slave then
if $dnode3Role != slave then
return -1
goto step6
endi
endi
if $dnode4Role != slave then
if $dnode4Role != slave then
return -1
goto step6
endi
endi
print ============== step7
print ============== step7
system sh/exec.sh -n dnode1 -s stop
system sh/exec.sh -n dnode1 -s stop
sleep 4000
$x = 0
step7:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes
sql show mnodes
-x step7
$dnode1Role = $data2_1
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode3Role = $data2_3
...
@@ -190,14 +224,19 @@ print dnode3 ==> $dnode3Role
...
@@ -190,14 +224,19 @@ print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print dnode4 ==> $dnode4Role
if $dnode1Role != offline then
if $dnode1Role != offline then
return -1
goto step7
endi
endi
print ============== step8
print ============== step8
sql drop dnode $hostname1
sql drop dnode $hostname1
sleep 8000
step8:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show mnodes
sql show mnodes
-x step8
$dnode1Role = $data2_1
$dnode1Role = $data2_1
$dnode2Role = $data2_5
$dnode2Role = $data2_5
$dnode3Role = $data2_3
$dnode3Role = $data2_3
...
@@ -208,10 +247,10 @@ print dnode3 ==> $dnode3Role
...
@@ -208,10 +247,10 @@ print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print dnode4 ==> $dnode4Role
if $dnode1Role != null then
if $dnode1Role != null then
return -1
goto step8
endi
endi
if $dnode2Role != slave then
if $dnode2Role != slave then
return -1
goto step8
endi
endi
#if $dnode3Role != master then
#if $dnode3Role != master then
# return -1
# return -1
...
...
tests/script/unique/mnode/mgmtr2.sim
浏览文件 @
9f4a8ba7
...
@@ -55,6 +55,14 @@ system sh/exec.sh -n dnode2 -s start
...
@@ -55,6 +55,14 @@ system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
print ============== step4
print ============== step4
$x = 0
step4:
$x = $x + 1
sleep 1000
if $x == 20 then
return -1
endi
sql show mnodes
sql show mnodes
$dnode1Role = $data2_1
$dnode1Role = $data2_1
...
@@ -65,20 +73,15 @@ print dnode2 ==> $dnode2Role
...
@@ -65,20 +73,15 @@ print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode3 ==> $dnode3Role
if $dnode1Role != master then
if $dnode1Role != master then
return -1
goto step4
endi
endi
if $dnode2Role != slave then
if $dnode2Role != slave then
return -1
goto step4
endi
endi
if $dnode3Role != null then
if $dnode3Role != null then
return -1
goto step4
endi
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode3 -s stop -x SIGINT
system sh/exec.sh -n dnode4 -s stop -x SIGINT
\ No newline at end of file
system sh/exec.sh -n dnode5 -s stop -x SIGINT
system sh/exec.sh -n dnode6 -s stop -x SIGINT
system sh/exec.sh -n dnode7 -s stop -x SIGINT
system sh/exec.sh -n dnode8 -s stop -x SIGINT
\ No newline at end of file
tests/script/unique/vnode/many.sim
浏览文件 @
9f4a8ba7
...
@@ -23,7 +23,37 @@ sql create dnode $hostname2
...
@@ -23,7 +23,37 @@ sql create dnode $hostname2
sql create dnode $hostname3
sql create dnode $hostname3
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 3000
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
sql show mnodes
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step1
endi
print ========= step1
print ========= step1
sql create database db1 replica 2
sql create database db1 replica 2
...
...
tests/script/unique/vnode/replica2_repeat.sim
浏览文件 @
9f4a8ba7
...
@@ -23,7 +23,38 @@ sql create dnode $hostname2
...
@@ -23,7 +23,38 @@ sql create dnode $hostname2
sql create dnode $hostname3
sql create dnode $hostname3
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 3000
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
sql show mnodes
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step1
endi
print ========= step1
print ========= step1
sql create database db replica 2
sql create database db replica 2
...
@@ -64,7 +95,7 @@ print ======== step7
...
@@ -64,7 +95,7 @@ print ======== step7
$lastRows = $data00
$lastRows = $data00
print ======== loop Times $x
print ======== loop Times $x
if $x <
5
then
if $x <
2
then
$x = $x + 1
$x = $x + 1
goto loop
goto loop
endi
endi
...
...
tests/script/unique/vnode/replica3_basic.sim
浏览文件 @
9f4a8ba7
...
@@ -16,14 +16,48 @@ sql create dnode $hostname2
...
@@ -16,14 +16,48 @@ sql create dnode $hostname2
sql create dnode $hostname3
sql create dnode $hostname3
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 3000
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
sql show mnodes
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step1
endi
if $data2_2 != slave then
goto step1
endi
if $data2_3 != slave then
goto step1
endi
$N = 10
$N = 10
$table = table_r3
$table = table_r3
$db = db1
$db = db1
sleep 3000
print =================== step 1
print =================== step 1
sql create database $db replica 3
sql create database $db replica 3
...
@@ -66,7 +100,21 @@ endi
...
@@ -66,7 +100,21 @@ endi
print =================== step 4
print =================== step 4
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
sleep 2000
$x = 0
step4:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show db1.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step4
endi
$y = $x + $N
$y = $x + $N
$expect = $N * 3
$expect = $N * 3
while $x < $y
while $x < $y
...
@@ -83,7 +131,6 @@ endi
...
@@ -83,7 +131,6 @@ endi
print =================== step 5
print =================== step 5
system sh/exec.sh -n dnode3 -s stop
system sh/exec.sh -n dnode3 -s stop
sleep 2000
$y = $x + $N
$y = $x + $N
$expect = $N * 4
$expect = $N * 4
while $x < $y
while $x < $y
...
@@ -100,7 +147,21 @@ endi
...
@@ -100,7 +147,21 @@ endi
print =================== step 6
print =================== step 6
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
sleep 2000
$x = 0
step6:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show db1.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step6
endi
$y = $x + $N
$y = $x + $N
$expect = $N * 5
$expect = $N * 5
while $x < $y
while $x < $y
...
@@ -117,7 +178,6 @@ endi
...
@@ -117,7 +178,6 @@ endi
print =================== step 7
print =================== step 7
system sh/exec.sh -n dnode1 -s stop
system sh/exec.sh -n dnode1 -s stop
sleep 2000
$y = $x + $N
$y = $x + $N
$expect = $N * 6
$expect = $N * 6
while $x < $y
while $x < $y
...
@@ -134,7 +194,21 @@ endi
...
@@ -134,7 +194,21 @@ endi
print =================== step 8
print =================== step 8
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode1 -s start
sleep 2000
$x = 0
step8:
$x = $x + 1
sleep 1000
if $x == 40 then
return -1
endi
sql show db1.vgroups
print online vnodes $data03
if $data03 != 3 then
goto step8
endi
$y = $x + $N
$y = $x + $N
$expect = $N * 7
$expect = $N * 7
while $x < $y
while $x < $y
...
...
tests/script/unique/vnode/replica3_repeat.sim
浏览文件 @
9f4a8ba7
...
@@ -26,7 +26,42 @@ sql create dnode $hostname4
...
@@ -26,7 +26,42 @@ sql create dnode $hostname4
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode4 -s start
system sh/exec.sh -n dnode4 -s start
sleep 3000
$x = 0
step1:
$x = $x + 1
sleep 1000
if $x == 10 then
return -1
endi
sql show dnodes
print dnode1 $data4_1
print dnode2 $data4_2
print dnode3 $data4_3
print dnode4 $data4_4
if $data4_1 != ready then
goto step1
endi
if $data4_2 != ready then
goto step1
endi
if $data4_3 != ready then
goto step1
endi
if $data4_4 != ready then
goto step1
endi
sql show mnodes
print mnode1 $data2_1
print mnode1 $data2_2
print mnode1 $data2_3
if $data2_1 != master then
goto step1
endi
print ========= step1
print ========= step1
sql create database db replica 3
sql create database db replica 3
...
@@ -75,7 +110,7 @@ print ======== step8
...
@@ -75,7 +110,7 @@ print ======== step8
$lastRows = $data00
$lastRows = $data00
print ======== loop Times $x
print ======== loop Times $x
if $x <
5
then
if $x <
2
then
$x = $x + 1
$x = $x + 1
goto loop
goto loop
endi
endi
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录