commit
9f4a8ba773
|
@ -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() {
|
||||||
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) {
|
||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
||||||
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) {
|
||||||
|
|
||||||
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;
|
||||||
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;
|
||||||
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) {
|
||||||
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) {
|
||||||
|
|
||||||
// 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() {
|
||||||
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() {
|
||||||
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() {
|
||||||
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) {
|
||||||
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) {
|
||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
||||||
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) {
|
||||||
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) {
|
||||||
.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) {
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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" {
|
||||||
|
|
||||||
// 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) {
|
||||||
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) {
|
||||||
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" {
|
||||||
#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 {
|
||||||
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 {
|
||||||
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;
|
||||||
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 {
|
||||||
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 @@
|
||||||
|
|
||||||
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) {
|
||||||
|
|
||||||
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};
|
||||||
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
|
||||||
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() {
|
||||||
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);
|
|
||||||
tsTcpPool = NULL;
|
|
||||||
tsSyncTmrCtrl = NULL;
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
tsSyncRefId = taosOpenRef(200, syncFreeNode);
|
tsNodeRefId = taosOpenRef(200, syncFreeNode);
|
||||||
if (tsSyncRefId < 0) {
|
if (tsNodeRefId < 0) {
|
||||||
|
sError("failed to init node ref");
|
||||||
|
syncCleanUp();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
tsPeerRefId = taosOpenRef(1000, syncFreePeer);
|
||||||
|
if (tsPeerRefId < 0) {
|
||||||
|
sError("failed to init peer ref");
|
||||||
syncCleanUp();
|
syncCleanUp();
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -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() {
|
||||||
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) {
|
||||||
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) {
|
||||||
(*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) {
|
||||||
|
|
||||||
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) {
|
||||||
|
|
||||||
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) {
|
||||||
(*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) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
||||||
|
|
||||||
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) {
|
||||||
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) {
|
||||||
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);
|
||||||
int32_t syncDecPeerRef(SSyncPeer *pPeer) {
|
if (pNode == NULL) {
|
||||||
if (atomic_sub_fetch_32(&pPeer->refCount, 1) == 0) {
|
sDebug("failed to acquire syncnode from refId:%" PRId64, rid);
|
||||||
taosReleaseRef(tsSyncRefId, pPeer->pSyncNode->rid);
|
} else {
|
||||||
|
int32_t refCount = atomic_add_fetch_32(&pNode->refCount, 1);
|
||||||
sDebug("%s, resource is freed", pPeer->id);
|
sTrace("vgId:%d, acquire syncnode refId:%" PRId64 ", refCount:%d", pNode->vgId, rid, refCount);
|
||||||
tfree(pPeer);
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return pNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
void syncReleaseNode(SSyncNode *pNode) {
|
||||||
|
int32_t refCount = atomic_sub_fetch_32(&pNode->refCount, 1);
|
||||||
|
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 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) {
|
||||||
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) {
|
||||||
|
|
||||||
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) {
|
||||||
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) {
|
||||||
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) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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) {
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
||||||
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) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 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) {
|
||||||
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) {
|
||||||
// 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) {
|
||||||
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) {
|
||||||
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) {
|
||||||
}
|
}
|
||||||
|
|
||||||
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
|
||||||
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) {
|
||||||
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) {
|
||||||
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) {
|
||||||
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) {
|
||||||
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) {
|
||||||
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) {
|
||||||
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) {
|
||||||
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) {
|
||||||
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
|
||||||
|
|
||||||
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) {
|
||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
||||||
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) {
|
||||||
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) {
|
||||||
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) {
|
||||||
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) {
|
||||||
}
|
}
|
||||||
|
|
||||||
free(pHead);
|
free(pHead);
|
||||||
|
*wver = lastVer;
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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) {
|
||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
||||||
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) {
|
||||||
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) {
|
||||||
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) {
|
||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
||||||
|
|
||||||
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 {
|
||||||
|
|
||||||
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) {
|
||||||
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) {
|
||||||
|
|
||||||
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) {
|
||||||
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) {
|
||||||
}
|
}
|
||||||
|
|
||||||
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 @@
|
||||||
#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) {
|
||||||
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) {
|
||||||
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) {
|
||||||
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) {
|
||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
if (tsEnableSlaveQuery && pVnode->role == TAOS_SYNC_ROLE_SLAVE) {
|
||||||
|
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) {
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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)
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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)
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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)
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
$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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
./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
|
||||||
|
|
|
@ -1,38 +1,4 @@
|
||||||
|
|
||||||
./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 @@
|
||||||
./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
|
||||||
./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
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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
|
|
||||||
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
|
if $data4_3 != ready then
|
||||||
sleep 2000
|
goto step2
|
||||||
goto wait_dnode3_ready
|
endi
|
||||||
endi
|
|
||||||
if $dnode3Status != ready then
|
sql alter database $db replica 2
|
||||||
sleep 2000
|
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
|
sql show vgroups
|
||||||
|
print online vnodes $data03
|
||||||
|
if $data03 != 1 then
|
||||||
|
goto a2
|
||||||
endi
|
endi
|
||||||
|
|
||||||
sql show dnodes
|
|
||||||
if $rows != 3 then
|
|
||||||
sleep 2000
|
|
||||||
goto wait_dnode2_offline
|
|
||||||
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
|
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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:
|
||||||
|
$x = $x + 1
|
||||||
|
sleep 1000
|
||||||
|
if $x == 40 then
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
$loopCnt = 0
|
sql show vgroups
|
||||||
wait_dnode2_ready:
|
print online vnodes $data03
|
||||||
$loopCnt = $loopCnt + 1
|
if $data03 != 2 then
|
||||||
if $loopCnt == 10 then
|
goto a3
|
||||||
return -1
|
|
||||||
endi
|
endi
|
||||||
|
|
||||||
sql show dnodes
|
|
||||||
if $rows != 3 then
|
|
||||||
sleep 2000
|
|
||||||
goto wait_dnode2_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 $dnode2Status != ready then
|
|
||||||
sleep 2000
|
|
||||||
goto wait_dnode2_ready
|
|
||||||
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
|
||||||
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
|
||||||
endi
|
print dnode4 $data4_4
|
||||||
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 $dnode4Status != ready then
|
if $data4_4 != ready then
|
||||||
sleep 2000
|
goto step6
|
||||||
goto wait_dnode4_ready
|
endi
|
||||||
|
|
||||||
|
sql alter database $db replica 3
|
||||||
|
$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
|
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
|
sql show vgroups
|
||||||
|
print online vnodes $data03
|
||||||
|
if $data03 != 2 then
|
||||||
|
goto a5
|
||||||
endi
|
endi
|
||||||
|
|
||||||
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 $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 $data5_2 $data6_2 $data7_2 $data8_2 $data9_2 $data10_2
|
|
||||||
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 $data5_3 $data6_3 $data7_3 $data8_3 $data9_3 $data10_3
|
|
||||||
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
|
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
|
sql show vgroups
|
||||||
|
print online vnodes $data03
|
||||||
|
if $data03 != 1 then
|
||||||
|
goto a6
|
||||||
endi
|
endi
|
||||||
|
|
||||||
sql show vgroups
|
|
||||||
print $data0_1 $data1_1 $data2_1 $data3_1 $data4_1 $data5_1 $data6_1 $data7_1 $data8_1
|
|
||||||
print $data0_2 $data1_2 $data2_2 $data3_2 $data4_2 $data5_2 $data6_2 $data7_2 $data8_2
|
|
||||||
print $data0_3 $data1_3 $data2_3 $data3_3 $data4_3 $data5_3 $data6_3 $data7_3 $data8_3
|
|
||||||
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
|
|
||||||
|
|
||||||
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
|
||||||
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
|
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
|
$x = 0
|
||||||
sleep 2000
|
a7:
|
||||||
goto wait_dnode23_dropped
|
$x = $x + 1
|
||||||
endi
|
sleep 1000
|
||||||
if $dnode3Status != null then
|
if $x == 40 then
|
||||||
sleep 2000
|
return -1
|
||||||
goto wait_dnode23_dropped
|
endi
|
||||||
endi
|
|
||||||
if $dnode4Status != ready then
|
sql show vgroups
|
||||||
return -1
|
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
$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
|
||||||
|
|
||||||
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
|
||||||
$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
|
||||||
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
|
||||||
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
|
||||||
$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
|
||||||
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
|
||||||
$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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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)
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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)
|
||||||
$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
|
||||||
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
|
||||||
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)
|
||||||
$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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
$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
|
||||||
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
|
||||||
$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
|
||||||
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
|
||||||
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
|
||||||
$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,47 +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
|
|
||||||
print drop dnode1 and sleep 9000
|
|
||||||
sleep 9000
|
|
||||||
|
|
||||||
sql show mnodes
|
|
||||||
$dnode1Role = $data2_1
|
|
||||||
$dnode4Role = $data2_4
|
|
||||||
$dnode5Role = $data2_5
|
|
||||||
print dnode1 ==> $data2_1
|
|
||||||
print dnode2 ==> $data2_2
|
|
||||||
print dnode3 ==> $data2_3
|
|
||||||
print dnode4 ==> $data2_4
|
|
||||||
print dnode5 ==> $data2_5
|
|
||||||
print dnode6 ==> $data2_6
|
|
||||||
print dnode7 ==> $data2_7
|
|
||||||
|
|
||||||
if $dnode1Role != offline then
|
|
||||||
return -1
|
|
||||||
endi
|
|
||||||
|
|
||||||
print ============================== step9.1
|
|
||||||
sleep 2000
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
|
||||||
|
|
||||||
$x = 0
|
$x = 0
|
||||||
show9:
|
show9:
|
||||||
$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 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
|
||||||
|
@ -442,7 +448,60 @@ 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 != offline then
|
||||||
|
goto show9
|
||||||
|
endi
|
||||||
|
if $data2_5 != master then
|
||||||
|
goto show9
|
||||||
|
endi
|
||||||
|
if $data2_6 != slave then
|
||||||
|
goto show9
|
||||||
|
endi
|
||||||
|
|
||||||
|
print ============================== step10
|
||||||
|
sql drop dnode $hostname1
|
||||||
|
$x = 0
|
||||||
|
show10:
|
||||||
|
$x = $x + 1
|
||||||
|
sleep 1000
|
||||||
|
if $x == 40 then
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
sql show mnodes -x show10
|
||||||
|
|
||||||
|
print dnode1 ==> $data2_1
|
||||||
|
print dnode2 ==> $data2_2
|
||||||
|
print dnode3 ==> $data2_3
|
||||||
|
print dnode4 ==> $data2_4
|
||||||
|
print dnode5 ==> $data2_5
|
||||||
|
print dnode6 ==> $data2_6
|
||||||
|
print dnode7 ==> $data2_7
|
||||||
|
|
||||||
|
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
|
||||||
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
|
||||||
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)
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
$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
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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:
|
||||||
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:
|
||||||
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:
|
||||||
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:
|
||||||
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:
|
||||||
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:
|
||||||
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:
|
||||||
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:
|
||||||
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:
|
||||||
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:
|
||||||
$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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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)
|
||||||
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
|
||||||
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_error select * from d1.t1
|
#sql insert into d1.t1 values(now, 3) -x s52
|
||||||
sql_error select * from d2.t2
|
s52:
|
||||||
sql_error select * from d3.t3
|
|
||||||
sql_error select * from d4.t4
|
|
||||||
|
|
||||||
print ===== insert data
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
print ========= step6
|
print ========= step6
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec.sh -n dnode2 -s start
|
||||||
sleep 5000
|
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 3)
|
$x = 0
|
||||||
sql insert into d2.t2 values(now, 3)
|
step6:
|
||||||
sql insert into d3.t3 values(now, 3)
|
$x = $x + 1
|
||||||
sql insert into d4.t4 values(now, 3)
|
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
|
||||||
|
|
||||||
|
sql insert into d1.t1 values(now, 3) -x step6
|
||||||
|
sql insert into d2.t2 values(now, 3) -x step6
|
||||||
|
sql insert into d3.t3 values(now, 3) -x step6
|
||||||
|
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
|
||||||
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 select * from d2.t2 -x s62
|
||||||
sql_error insert into d2.t2 values(now, 3)
|
s62:
|
||||||
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_error select * from d2.t2
|
|
||||||
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
|
||||||
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
|
|
||||||
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
|
|
|
@ -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
|
||||||
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)
|
||||||
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
|
||||||
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
|
|
||||||
|
$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 != 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
|
print ======== step3
|
||||||
$x = 0
|
|
||||||
show3:
|
|
||||||
$x = $x + 1
|
|
||||||
sleep 2000
|
|
||||||
if $x == 10 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
|
||||||
|
@ -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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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
|
|
||||||
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
|
|
|
@ -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
|
||||||
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)
|
||||||
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
|
||||||
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)
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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
|
|
||||||
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
|
|
|
@ -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
|
||||||
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)
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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
|
|
||||||
system sh/exec.sh -n dnode3 -s stop -x SIGINT
|
|
||||||
sleep 5000
|
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 4) -x s5
|
$x = 0
|
||||||
s5:
|
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
|
||||||
|
|
||||||
|
#sql insert into d1.t1 values(now, 4) -x 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
|
||||||
|
|
||||||
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 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
|
|
|
@ -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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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 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
|
|
|
@ -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
|
||||||
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)
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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:
|
||||||
|
|
||||||
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:
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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 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
|
|
|
@ -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
|
||||||
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)
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
|
step5:
|
||||||
|
$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
|
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_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
|
||||||
|
|
||||||
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 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
|
|
|
@ -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
|
||||||
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
|
||||||
$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
|
||||||
$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
|
||||||
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
|
||||||
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
|
||||||
$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
|
||||||
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
|
||||||
$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
|
||||||
$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
|
||||||
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
|
||||||
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
|
||||||
$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
|
||||||
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
|
||||||
$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)
|
||||||
$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
|
||||||
$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
|
||||||
$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
|
||||||
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
|
||||||
|
|
|
@ -0,0 +1,111 @@
|
||||||
|
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
|
|
@ -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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
$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
|
||||||
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
|
||||||
$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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
$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
|
||||||
$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
|
||||||
$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
|
||||||
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
|
||||||
$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)
|
||||||
$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
|
||||||
$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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
$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
|
||||||
|
|
||||||
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
|
||||||
$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
|
||||||
$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
|
||||||
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
|
||||||
$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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
|
||||||
system sh/exec.sh -n dnode7 -s stop -x SIGINT
|
|
||||||
system sh/exec.sh -n dnode8 -s stop -x SIGINT
|
|
|
@ -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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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:
|
||||||
|
$x = $x + 1
|
||||||
|
sleep 1000
|
||||||
|
if $x == 10 then
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
sql show mnodes
|
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
|
||||||
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
|
||||||
|
|
||||||
print ============== step7
|
print ============== step7
|
||||||
sql drop dnode $hostname1
|
sql drop dnode $hostname1
|
||||||
sleep 8000
|
$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
|
||||||
|
@ -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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
|
||||||
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
|
|
|
@ -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
|
||||||
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
|
||||||
$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
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
$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
|
||||||
|
|
Loading…
Reference in New Issue