未验证 提交 9f4a8ba7 编写于 作者: S Shengliang Guan 提交者: GitHub

Merge pull request #4671 from taosdata/feature/sim

Feature/sim
...@@ -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);
......
...@@ -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);
......
...@@ -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;
......
...@@ -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;
......
...@@ -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));
......
...@@ -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);
} }
......
...@@ -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) {
......
...@@ -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);
......
...@@ -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) {
......
...@@ -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, "onlineVnodes"); 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%dDnode", i + 1); snprintf(pSchema[cols].name, TSDB_COL_NAME_LEN, "v%d_dnode", 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%dStatus", i + 1); snprintf(pSchema[cols].name, TSDB_COL_NAME_LEN, "v%d_status", i + 1);
pSchema[cols].bytes = htons(pShow->bytes[cols]); pSchema[cols].bytes = htons(pShow->bytes[cols]);
cols++; cols++;
} }
......
...@@ -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
......
...@@ -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);
......
...@@ -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) {
......
...@@ -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 1000 // 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
} }
......
...@@ -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
......
...@@ -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;
......
...@@ -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(tsSyncRefId, rid); taosRemoveRef(tsNodeRefId, 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) {
......
...@@ -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;
sDebug("%s, get file:%s info size:%" PRId64, pPeer->id, minfo.name, minfo.size); sinfo.magic = (*pNode->getFileInfo)(pNode->vgId, sinfo.name, &sinfo.index, TAOS_SYNC_MAX_INDEX, &sinfo.size, &sinfo.fversion);
sinfo.magic = (*pNode->getFileInfo)(pNode->vgId, sinfo.name, &sinfo.index, TAOS_SYNC_MAX_INDEX, &sinfo.size, sDebug("%s, local file:%s info, index:%d size:%" PRId64 " fver:%" PRIu64 " magic:%d", pPeer->id, sinfo.name,
&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);
syncDecPeerRef(pPeer); syncReleasePeer(pPeer);
return NULL; return NULL;
} }
...@@ -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);
syncDecPeerRef(pPeer); syncReleasePeer(pPeer);
return NULL; return NULL;
} }
...@@ -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;
} }
......
...@@ -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);
......
...@@ -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) {
......
...@@ -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;
......
...@@ -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) {
......
...@@ -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 (tsEnableFlowCtrl == 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);
......
...@@ -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 1000 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 1000 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 1000 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 1000 sleep 100
sql select * from db.t000 sql select * from db.t000
if $rows != 1 then if $rows != 1 then
......
...@@ -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 1000 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)
......
...@@ -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 1000 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)
......
...@@ -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
......
...@@ -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
......
...@@ -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
......
...@@ -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 2000 sleep 1000
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 1000 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
......
...@@ -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
......
./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
...@@ -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
......
...@@ -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
......
...@@ -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
......
...@@ -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
...@@ -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
...@@ -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
......
...@@ -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
...@@ -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
......
...@@ -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 3000 sleep 1000
if $x == 10 then if $x == 30 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 1000 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 3000 sleep 1000
if $x == 10 then if $x == 30 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 1000 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 3000 sleep 1000
if $x == 10 then if $x == 30 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 1000 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 3000 sleep 1000
if $x == 10 then if $x == 30 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 1000 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 3000 sleep 1000
if $x == 10 then if $x == 30 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 1000 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
......
...@@ -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
......
...@@ -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 2000 sleep 1000
if $x == 20 then if $x == 40 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 2000 sleep 1000
if $x == 20 then if $x == 40 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 2000 sleep 1000
if $x == 20 then if $x == 40 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 2000 sleep 1000
if $x == 30 then if $x == 40 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 2000 sleep 1000
if $x == 30 then if $x == 40 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 2000 sleep 1000
if $x == 30 then if $x == 40 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 2000 sleep 1000
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 1000 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
......
...@@ -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 3000 sleep 1000
if $x == 20 then if $x == 30 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 3000 sleep 1000
if $x == 20 then if $x == 30 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 3000 sleep 1000
if $x == 20 then if $x == 40 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 2000 sleep 1000
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 10000 sleep 5000
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 1000 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
......
...@@ -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 2000 sleep 1000
if $x == 20 then if $x == 40 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 2000 sleep 1000
if $x == 20 then if $x == 40 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 2000 sleep 1000
if $x == 20 then if $x == 40 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 2000 sleep 1000
if $x == 20 then if $x == 40 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 2000 sleep 1000
if $x == 20 then if $x == 40 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 2000 sleep 1000
if $x == 20 then if $x == 40 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 2000 sleep 1000
if $x == 20 then if $x == 40 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
show9: show10:
$x = $x + 1 $x = $x + 1
sleep 2000 sleep 1000
if $x == 20 then if $x == 40 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 show9 goto show11
endi endi
if $dnode6Vnodes != 3 then if $dnode6Vnodes != 3 then
goto show9 goto show11
endi endi
if $dnode7Vnodes != 3 then if $dnode7Vnodes != 3 then
goto show9 goto show11
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 2000 sleep 1000
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
show11: show12:
$x = $x + 1 $x = $x + 1
sleep 2000 sleep 1000
if $x == 20 then if $x == 40 then
return -1 return -1
endi endi
sql show dnodes -x show11 sql show dnodes -x show12
$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 show11 goto show12
endi endi
if $dnode6Vnodes != 4 then if $dnode6Vnodes != 4 then
goto show11 goto show12
endi endi
if $dnode7Vnodes != 4 then if $dnode7Vnodes != 4 then
goto show11 goto show12
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 1000 sleep 200
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
...@@ -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
......
...@@ -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
......
...@@ -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 1000 sleep 100
goto begin goto begin
......
...@@ -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 2000 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
...@@ -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 2000 sleep 1000
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 1000 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
...@@ -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 2000 sleep 1000
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 1000 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
...@@ -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 1000 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
...@@ -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
...@@ -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 1000 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 1000 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
...@@ -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 1000 sleep 200
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 1000 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
...@@ -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 2000 sleep 1000
if $x == 10 then if $x == 20 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 3000 sleep 1000
if $x == 20 then if $x == 30 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 2000 sleep 1000
if $x == 10 then if $x == 20 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 1000 sleep 100
print ========== step10 print ========== step10
sql select * from d1.t1 order by t desc sql select * from d1.t1 order by t desc
......
...@@ -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 2000 sleep 1000
if $x == 10 then if $x == 20 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 2000 sleep 1000
if $x == 10 then if $x == 20 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 2000 sleep 1000
if $x == 10 then if $x == 20 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 1000 sleep 100
print ========== step7 print ========== step7
sql select * from d1.t1 order by t desc sql select * from d1.t1 order by t desc
......
...@@ -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 2000 sleep 1000
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 4000 sleep 1000
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 2000 sleep 1000
if $x == 20 then if $x == 30 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 2000 sleep 1000
if $x == 10 then if $x == 20 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 2000 sleep 1000
if $x == 20 then if $x == 30 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 1000 sleep 100
print ========== step7 print ========== step7
sql select * from d1.t1 order by t desc sql select * from d1.t1 order by t desc
......
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
...@@ -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
......
...@@ -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 2000 sleep 1000
if $x == 10 then if $x == 20 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 2000 sleep 1000
if $x == 10 then if $x == 20 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 2000 sleep 1000
if $x == 10 then if $x == 20 then
return -1 return -1
endi endi
sql show dnodes sql show dnodes
......
...@@ -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 2000 sleep 1000
if $x == 10 then if $x == 20 then
return -1 return -1
endi endi
......
...@@ -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 2000 sleep 1000
if $x == 10 then if $x == 20 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 2000 sleep 1000
if $x == 10 then if $x == 20 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 3000 sleep 1000
if $x == 20 then if $x == 40 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 3000 sleep 1000
if $x == 20 then if $x == 40 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 2000 sleep 1000
if $x == 10 then if $x == 20 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 2000 sleep 1000
if $x == 10 then if $x == 20 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
......
...@@ -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
......
...@@ -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
......
...@@ -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 2000 sleep 1000
if $x == 10 then if $x == 20 then
return -1 return -1
endi endi
......
...@@ -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 2000 sleep 1000
if $x == 10 then if $x == 20 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 2000 sleep 1000
if $x == 10 then if $x == 20 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 2000 sleep 1000
if $x == 10 then if $x == 20 then
return -1 return -1
endi endi
......
...@@ -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 2000 sleep 1000
if $x == 10 then if $x == 20 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
...@@ -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
......
...@@ -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
......
...@@ -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
...@@ -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
......
...@@ -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
......
...@@ -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
......
...@@ -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.
先完成此消息的编辑!
想要评论请 注册