提交 3133106b 编写于 作者: H hzcheng

Merge branch 'develop' into feature/2.0tsdb

...@@ -59,17 +59,30 @@ matrix: ...@@ -59,17 +59,30 @@ matrix:
GREEN_UNDERLINE='\033[4;32m' GREEN_UNDERLINE='\033[4;32m'
NC='\033[0m' NC='\033[0m'
tail -10 mem-error-out.txt grep 'ERROR SUMMARY' mem-error-out.txt | uniq | tee uniq-mem-error-out.txt
defiMemError=`grep -m 1 'definitely lost' mem-error-out.txt | awk '{print $7}'`
memError=`grep -m 1 'ERROR SUMMARY' mem-error-out.txt | awk '{print $4}'` for memError in `cat uniq-mem-error-out.txt | awk '{print $4}'`
do
if [ -n "$memError" ]; then if [ -n "$memError" ]; then
if [ "$memError" -gt 16 ] || [ "$defiMemError" -gt 0 ]; then if [ "$memError" -gt 16 ]; then
echo -e "${RED} ## Memory errors number valgrind reports is $memError.\ echo -e "${RED} ## Memory errors number valgrind reports is $memError.\
Definitely lost is $defiMemError. More than our threshold! ## ${NC}" More than our threshold! ## ${NC}"
travis_terminate $memError travis_terminate $memError
fi
fi fi
fi done
grep 'definitely lost' mem-error-out.txt | uniq | tee uniq-definitely-lost-out.txt
for defiMemError in `cat uniq-definitely-lost-out.txt | awk '{print $7}'`
do
if [ -n "$defiMemError" ]; then
if [ "$defiMemError" -gt 16 ]; then
echo -e "${RED} ## Memory errors number valgrind reports \
Definitely lost is $defiMemError. More than our threshold! ## ${NC}"
travis_terminate $defiMemError
fi
fi
done
;; ;;
esac esac
......
...@@ -310,7 +310,7 @@ int32_t tsParseOneColumnData(SSchema *pSchema, SSQLToken *pToken, char *payload, ...@@ -310,7 +310,7 @@ int32_t tsParseOneColumnData(SSchema *pSchema, SSQLToken *pToken, char *payload,
*payload = TSDB_DATA_BINARY_NULL; *payload = TSDB_DATA_BINARY_NULL;
} else { // too long values will return invalid sql, not be truncated automatically } else { // too long values will return invalid sql, not be truncated automatically
if (pToken->n + VARSTR_HEADER_SIZE > pSchema->bytes) { if (pToken->n + VARSTR_HEADER_SIZE > pSchema->bytes) { //todo refactor
return tscInvalidSQLErrMsg(msg, "string data overflow", pToken->z); return tscInvalidSQLErrMsg(msg, "string data overflow", pToken->z);
} }
......
...@@ -5520,18 +5520,26 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) { ...@@ -5520,18 +5520,26 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
SSchema* pTagSchema = tscGetTableTagSchema(pStableMeterMetaInfo->pTableMeta); SSchema* pTagSchema = tscGetTableTagSchema(pStableMeterMetaInfo->pTableMeta);
char* tagVal = pCreateTable->usingInfo.tagdata.data; char* tagVal = pCreateTable->usingInfo.tagdata.data;
int32_t ret = TSDB_CODE_SUCCESS;
for (int32_t i = 0; i < pList->nExpr; ++i) { for (int32_t i = 0; i < pList->nExpr; ++i) {
int32_t ret = tVariantDump(&(pList->a[i].pVar), tagVal, pTagSchema[i].type);
if (pTagSchema[i].type == TSDB_DATA_TYPE_BINARY || pTagSchema[i].type == TSDB_DATA_TYPE_NCHAR) {
// validate the length of binary
if (pList->a[i].pVar.nLen + VARSTR_HEADER_SIZE > pTagSchema[i].bytes) {
return invalidSqlErrMsg(tscGetErrorMsgPayload(pCmd), msg3);
}
*(VarDataLenT*)tagVal = pList->a[i].pVar.nLen;
ret = tVariantDump(&(pList->a[i].pVar), tagVal + VARSTR_HEADER_SIZE, pTagSchema[i].type);
} else {
ret = tVariantDump(&(pList->a[i].pVar), tagVal, pTagSchema[i].type);
}
if (ret != TSDB_CODE_SUCCESS) { if (ret != TSDB_CODE_SUCCESS) {
return invalidSqlErrMsg(tscGetErrorMsgPayload(pCmd), msg4); return invalidSqlErrMsg(tscGetErrorMsgPayload(pCmd), msg4);
} }
// validate the length of binary
if ((pTagSchema[i].type == TSDB_DATA_TYPE_BINARY || pTagSchema[i].type == TSDB_DATA_TYPE_NCHAR) &&
pList->a[i].pVar.nLen > pTagSchema[i].bytes) {
return invalidSqlErrMsg(tscGetErrorMsgPayload(pCmd), msg3);
}
tagVal += pTagSchema[i].bytes; tagVal += pTagSchema[i].bytes;
} }
...@@ -5541,7 +5549,7 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) { ...@@ -5541,7 +5549,7 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
} }
STableMetaInfo* pTableMeterMetaInfo = tscGetMetaInfo(pQueryInfo, TABLE_INDEX); STableMetaInfo* pTableMeterMetaInfo = tscGetMetaInfo(pQueryInfo, TABLE_INDEX);
int32_t ret = tscSetTableId(pTableMeterMetaInfo, &pInfo->pCreateTableInfo->name, pSql); ret = tscSetTableId(pTableMeterMetaInfo, &pInfo->pCreateTableInfo->name, pSql);
if (ret != TSDB_CODE_SUCCESS) { if (ret != TSDB_CODE_SUCCESS) {
return ret; return ret;
} }
......
...@@ -2262,7 +2262,7 @@ int tscProcessConnectRsp(SSqlObj *pSql) { ...@@ -2262,7 +2262,7 @@ int tscProcessConnectRsp(SSqlObj *pSql) {
strcpy(pObj->sversion, pConnect->serverVersion); strcpy(pObj->sversion, pConnect->serverVersion);
pObj->writeAuth = pConnect->writeAuth; pObj->writeAuth = pConnect->writeAuth;
pObj->superAuth = pConnect->superAuth; pObj->superAuth = pConnect->superAuth;
// taosTmrReset(tscProcessActivityTimer, tsShellActivityTimer * 500, pObj, tscTmr, &pObj->pTimer); taosTmrReset(tscProcessActivityTimer, tsShellActivityTimer * 500, pObj, tscTmr, &pObj->pTimer);
return 0; return 0;
} }
......
...@@ -168,6 +168,13 @@ static void syncConnCallback(void *param, TAOS_RES *tres, int code) { ...@@ -168,6 +168,13 @@ static void syncConnCallback(void *param, TAOS_RES *tres, int code) {
TAOS *taos_connect(const char *ip, const char *user, const char *pass, const char *db, uint16_t port) { TAOS *taos_connect(const char *ip, const char *user, const char *pass, const char *db, uint16_t port) {
tscTrace("try to create a connection to %s", ip); tscTrace("try to create a connection to %s", ip);
if (port != 0) {
tsServerPort = port;
tsMnodeShellPort = tsServerPort + TSDB_PORT_MNODESHELL;
tsDnodeShellPort = tsServerPort + TSDB_PORT_DNODESHELL;
tsMnodeDnodePort = tsServerPort + TSDB_PORT_MNODEDNODE;
tsDnodeMnodePort = tsServerPort + TSDB_PORT_DNODEMNODE;
}
STscObj *pObj = taosConnectImpl(ip, user, pass, db, port, NULL, NULL, NULL); STscObj *pObj = taosConnectImpl(ip, user, pass, db, port, NULL, NULL, NULL);
if (pObj != NULL) { if (pObj != NULL) {
......
...@@ -13,122 +13,6 @@ ...@@ -13,122 +13,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
char *taosMsg[] = { #define TAOS_MESSAGE_C
"null",
"registration",
"registration-rsp",
"submit",
"submit-rsp",
"query",
"query-rsp",
"retrieve",
"retrieve-rsp",
"create-table",
"create-table-rsp", //10
"drop-table",
"drop-table-rsp",
"alter-table",
"alter-table-rsp",
"create-vnode",
"create-vnode-rsp",
"drop-vnode",
"drop-vnode-rsp",
"alter-vnode",
"alter-vnode-rsp", //20
"drop-stable",
"drop-stable-rsp",
"alter-stream",
"alter-stream-rsp",
"config-dnode",
"config-dnode-rsp",
"",
"",
"",
"", //30
"connect",
"connect-rsp",
"create-acct",
"create-acct-rsp",
"alter-acct",
"alter-acct-rsp",
"drop-acct",
"drop-acct-rsp",
"create-user",
"create-user-rsp", //40
"alter-user",
"alter-user-rsp",
"drop-user",
"drop-user-rsp",
"create-dnode",
"create-dnode-rsp",
"drop-dnode",
"drop-dnode-rsp",
"create-db",
"create-db-rsp", //50
"drop-db",
"drop-db-rsp",
"use-db",
"use-db-rsp",
"alter-db",
"alter-db-rsp",
"create-table",
"create-table-rsp",
"drop-table",
"drop-table-rsp", //60
"alter-table",
"alter-table-rsp",
"table-meta",
"table-meta-rsp",
"super-table-meta",
"super-stable-meta-rsp",
"multi-table-meta",
"multi-table-meta-rsp",
"alter-stream",
"alter-stream-rsp", //70
"show",
"show-rsp",
"kill-query",
"kill-query-rsp",
"kill-stream",
"kill-stream-rsp",
"kill-connection",
"kill-connectoin-rsp",
"heart-beat",
"heart-beat-rsp", //80
"",
"",
"",
"",
"",
"",
"",
"",
"",
"", //90
"config-table",
"config-table-rsp",
"config-vnode",
"config-vnode-rsp",
"status",
"status-rsp",
"grant",
"grant-rsp",
"",
"", //100
"sdb-sync",
"sdb-sync-rsp",
"sdb-forward",
"sdb-forward-rsp",
"max"
};
#include "taosmsg.h"
...@@ -74,8 +74,10 @@ void dnodeCleanupRead() { ...@@ -74,8 +74,10 @@ void dnodeCleanupRead() {
for (int i=0; i < readPool.max; ++i) { for (int i=0; i < readPool.max; ++i) {
SReadWorker *pWorker = readPool.readWorker + i; SReadWorker *pWorker = readPool.readWorker + i;
if (pWorker->thread) if (pWorker->thread) {
pthread_cancel(pWorker->thread);
pthread_join(pWorker->thread, NULL); pthread_join(pWorker->thread, NULL);
}
} }
taosCloseQset(readQset); taosCloseQset(readQset);
...@@ -114,12 +116,12 @@ void dnodeRead(SRpcMsg *pMsg) { ...@@ -114,12 +116,12 @@ void dnodeRead(SRpcMsg *pMsg) {
pRead->pCont = pCont; pRead->pCont = pCont;
pRead->contLen = pHead->contLen; pRead->contLen = pHead->contLen;
taosWriteQitem(queue, TAOS_QTYPE_RPC, pRead);
// next vnode // next vnode
leftLen -= pHead->contLen; leftLen -= pHead->contLen;
pCont -= pHead->contLen; pCont -= pHead->contLen;
queuedMsgNum++; queuedMsgNum++;
taosWriteQitem(queue, TAOS_QTYPE_RPC, pRead);
} }
if (queuedMsgNum == 0) { if (queuedMsgNum == 0) {
......
...@@ -71,7 +71,10 @@ void dnodeCleanupWrite() { ...@@ -71,7 +71,10 @@ void dnodeCleanupWrite() {
for (int32_t i = 0; i < wWorkerPool.max; ++i) { for (int32_t i = 0; i < wWorkerPool.max; ++i) {
SWriteWorker *pWorker = wWorkerPool.writeWorker + i; SWriteWorker *pWorker = wWorkerPool.writeWorker + i;
if (pWorker->thread) { if (pWorker->thread) {
pthread_cancel(pWorker->thread);
pthread_join(pWorker->thread, NULL); pthread_join(pWorker->thread, NULL);
taosFreeQall(pWorker->qall);
taosCloseQset(pWorker->qset);
} }
} }
......
...@@ -28,103 +28,76 @@ extern "C" { ...@@ -28,103 +28,76 @@ extern "C" {
#include "trpc.h" #include "trpc.h"
// message type // message type
#define TSDB_MSG_TYPE_REG 1
#define TSDB_MSG_TYPE_REG_RSP 2 #ifdef TAOS_MESSAGE_C
#define TSDB_MSG_TYPE_SUBMIT 3 #define TAOS_DEFINE_MESSAGE_TYPE( name, msg ) msg, msg "-rsp",
#define TSDB_MSG_TYPE_SUBMIT_RSP 4 char *taosMsg[] = {
#define TSDB_MSG_TYPE_QUERY 5 "null",
#define TSDB_MSG_TYPE_QUERY_RSP 6 #else
#define TSDB_MSG_TYPE_RETRIEVE 7 #define TAOS_DEFINE_MESSAGE_TYPE( name, msg ) name, name##_RSP,
#define TSDB_MSG_TYPE_RETRIEVE_RSP 8 enum {
TSDB_MESSAGE_NULL = 0,
#endif
TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_REG, "registration" ) // 1
TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_SUBMIT, "submit" ) // 3
TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_QUERY, "query" ) // 5
TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_RETRIEVE, "retrieve" ) // 7
// message from mnode to dnode // message from mnode to dnode
#define TSDB_MSG_TYPE_MD_CREATE_TABLE 9 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_MD_CREATE_TABLE, "create-table" ) // 9
#define TSDB_MSG_TYPE_MD_CREATE_TABLE_RSP 10 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_MD_DROP_TABLE, "drop-table" ) // 11
#define TSDB_MSG_TYPE_MD_DROP_TABLE 11 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_MD_ALTER_TABLE, "alter-table" ) // 13
#define TSDB_MSG_TYPE_MD_DROP_TABLE_RSP 12 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_MD_CREATE_VNODE, "create-vnode" ) // 15
#define TSDB_MSG_TYPE_MD_ALTER_TABLE 13 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_MD_DROP_VNODE, "drop-vnode" ) // 17
#define TSDB_MSG_TYPE_MD_ALTER_TABLE_RSP 14 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_MD_DROP_STABLE, "drop-stable" ) // 19
#define TSDB_MSG_TYPE_MD_CREATE_VNODE 15 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_MD_ALTER_STREAM, "alter-stream" ) // 21
#define TSDB_MSG_TYPE_MD_CREATE_VNODE_RSP 16 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_MD_CONFIG_DNODE, "config-dnode" ) // 23
#define TSDB_MSG_TYPE_MD_DROP_VNODE 17
#define TSDB_MSG_TYPE_MD_DROP_VNODE_RSP 18
#define TSDB_MSG_TYPE_MD_DROP_STABLE 19
#define TSDB_MSG_TYPE_MD_DROP_STABLE_RSP 20
#define TSDB_MSG_TYPE_MD_ALTER_STREAM 21
#define TSDB_MSG_TYPE_MD_ALTER_STREAM_RSP 22
#define TSDB_MSG_TYPE_MD_CONFIG_DNODE 23
#define TSDB_MSG_TYPE_MD_CONFIG_DNODE_RSP 24
// message from client to mnode // message from client to mnode
#define TSDB_MSG_TYPE_CM_CONNECT 31 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_CONNECT, "connect" ) // 31
#define TSDB_MSG_TYPE_CM_CONNECT_RSP 32 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_CREATE_ACCT, "create-acct" ) // 33
#define TSDB_MSG_TYPE_CM_CREATE_ACCT 33 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_ALTER_ACCT, "alter-acct" ) // 35
#define TSDB_MSG_TYPE_CM_CREATE_ACCT_RSP 34 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_DROP_ACCT, "drop-acct" ) // 37
#define TSDB_MSG_TYPE_CM_ALTER_ACCT 35 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_CREATE_USER, "create-user" ) // 39
#define TSDB_MSG_TYPE_CM_ALTER_ACCT_RSP 36 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_ALTER_USER, "alter-user" ) // 41
#define TSDB_MSG_TYPE_CM_DROP_ACCT 37 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_DROP_USER, "drop-user" ) // 43
#define TSDB_MSG_TYPE_CM_DROP_ACCT_RSP 38 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_CREATE_DNODE, "create-dnode" ) // 45
#define TSDB_MSG_TYPE_CM_CREATE_USER 39 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_DROP_DNODE, "drop-dnode" ) // 47
#define TSDB_MSG_TYPE_CM_CREATE_USER_RSP 40 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_CREATE_DB, "create-db" ) // 49
#define TSDB_MSG_TYPE_CM_ALTER_USER 41 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_DROP_DB, "drop-db" ) // 51
#define TSDB_MSG_TYPE_CM_ALTER_USER_RSP 42 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_USE_DB, "use-db" ) // 53
#define TSDB_MSG_TYPE_CM_DROP_USER 43 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_ALTER_DB, "alter-db" ) // 55
#define TSDB_MSG_TYPE_CM_DROP_USER_RSP 44 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_CREATE_TABLE, "create-table" ) // 57
#define TSDB_MSG_TYPE_CM_CREATE_DNODE 45 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_DROP_TABLE, "drop-table" ) // 59
#define TSDB_MSG_TYPE_CM_CREATE_DNODE_RSP 46 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_ALTER_TABLE, "alter-table" ) // 61
#define TSDB_MSG_TYPE_CM_DROP_DNODE 47 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_TABLE_META, "table-meta" ) // 63
#define TSDB_MSG_TYPE_CM_DROP_DNODE_RSP 48 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_STABLE_VGROUP, "stable-vgroup" ) // 65
#define TSDB_MSG_TYPE_CM_CONFIG_DNODE TSDB_MSG_TYPE_MD_CONFIG_DNODE TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_TABLES_META, "tables-meta" ) // 67
#define TSDB_MSG_TYPE_CM_CONFIG_DNODE_RSP TSDB_MSG_TYPE_MD_CONFIG_DNODE_RSP TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_ALTER_STREAM, "alter-stream" ) // 69
#define TSDB_MSG_TYPE_CM_CREATE_DB 49 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_SHOW, "show" ) // 71
#define TSDB_MSG_TYPE_CM_CREATE_DB_RSP 50 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_KILL_QUERY, "kill-query" ) // 73
#define TSDB_MSG_TYPE_CM_DROP_DB 51 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_KILL_STREAM, "kill-stream" ) // 75
#define TSDB_MSG_TYPE_CM_DROP_DB_RSP 52 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_KILL_CONN, "kill-conn" ) // 77
#define TSDB_MSG_TYPE_CM_USE_DB 53 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_HEARTBEAT, "heartbeat" ) // 79
#define TSDB_MSG_TYPE_CM_USE_DB_RSP 54
#define TSDB_MSG_TYPE_CM_ALTER_DB 55
#define TSDB_MSG_TYPE_CM_ALTER_DB_RSP 56
#define TSDB_MSG_TYPE_CM_CREATE_TABLE 57
#define TSDB_MSG_TYPE_CM_CREATE_TABLE_RSP 58
#define TSDB_MSG_TYPE_CM_DROP_TABLE 59
#define TSDB_MSG_TYPE_CM_DROP_TABLE_RSP 60
#define TSDB_MSG_TYPE_CM_ALTER_TABLE 61
#define TSDB_MSG_TYPE_CM_ALTER_TABLE_RSP 62
#define TSDB_MSG_TYPE_CM_TABLE_META 63
#define TSDB_MSG_TYPE_CM_TABLE_META_RSP 64
#define TSDB_MSG_TYPE_CM_STABLE_VGROUP 65
#define TSDB_MSG_TYPE_CM_STABLE_VGROUP_RSP 66
#define TSDB_MSG_TYPE_CM_TABLES_META 67
#define TSDB_MSG_TYPE_CM_TABLES_META_RSP 68
#define TSDB_MSG_TYPE_CM_ALTER_STREAM 69
#define TSDB_MSG_TYPE_CM_ALTER_STREAM_RSP 70
#define TSDB_MSG_TYPE_CM_SHOW 71
#define TSDB_MSG_TYPE_CM_SHOW_RSP 72
#define TSDB_MSG_TYPE_CM_KILL_QUERY 73
#define TSDB_MSG_TYPE_CM_KILL_QUERY_RSP 74
#define TSDB_MSG_TYPE_CM_KILL_STREAM 75
#define TSDB_MSG_TYPE_CM_KILL_STREAM_RSP 76
#define TSDB_MSG_TYPE_CM_KILL_CONN 77
#define TSDB_MSG_TYPE_CM_KILL_CONN_RSP 78
#define TSDB_MSG_TYPE_CM_HEARTBEAT 79
#define TSDB_MSG_TYPE_CM_HEARTBEAT_RSP 80
// message from dnode to mnode // message from dnode to mnode
#define TSDB_MSG_TYPE_DM_CONFIG_TABLE 91 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_DM_CONFIG_TABLE, "config-table" ) // 91
#define TSDB_MSG_TYPE_DM_CONFIG_TABLE_RSP 92 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_DM_CONFIG_VNODE, "config-vnode" ) // 93
#define TSDB_MSG_TYPE_DM_CONFIG_VNODE 93 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_DM_STATUS, "status" ) // 95
#define TSDB_MSG_TYPE_DM_CONFIG_VNODE_RSP 94 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_DM_GRANT, "grant" ) // 97
#define TSDB_MSG_TYPE_DM_STATUS 95
#define TSDB_MSG_TYPE_DM_STATUS_RSP 96 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_SDB_SYNC, "sdb-sync" ) // 101
#define TSDB_MSG_TYPE_DM_GRANT 97 TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_SDB_FORWARD, "sdb-forward" ) // 103
#define TSDB_MSG_TYPE_DM_GRANT_RSP 98
#ifndef TAOS_MESSAGE_C
#define TSDB_MSG_TYPE_SDB_SYNC 101 TSDB_MSG_TYPE_MAX // 105
#define TSDB_MSG_TYPE_SDB_SYNC_RSP 102 #endif
#define TSDB_MSG_TYPE_SDB_FORWARD 103
#define TSDB_MSG_TYPE_SDB_FORWARD_RSP 104 };
#define TSDB_MSG_TYPE_MAX 105 #define TSDB_MSG_TYPE_CM_CONFIG_DNODE TSDB_MSG_TYPE_MD_CONFIG_DNODE
#define TSDB_MSG_TYPE_CM_CONFIG_DNODE_RSP TSDB_MSG_TYPE_MD_CONFIG_DNODE_RSP
// IE type // IE type
#define TSDB_IE_TYPE_SEC 1 #define TSDB_IE_TYPE_SEC 1
......
...@@ -61,6 +61,7 @@ struct arguments { ...@@ -61,6 +61,7 @@ struct arguments {
int threadNum; int threadNum;
char* commands; char* commands;
int abort; int abort;
int port;
}; };
/**************** Function declarations ****************/ /**************** Function declarations ****************/
......
...@@ -81,7 +81,7 @@ void shellParseArgument(int argc, char *argv[], struct arguments *arguments) { ...@@ -81,7 +81,7 @@ void shellParseArgument(int argc, char *argv[], struct arguments *arguments) {
// for management port // for management port
else if (strcmp(argv[i], "-P") == 0) { else if (strcmp(argv[i], "-P") == 0) {
if (i < argc - 1) { if (i < argc - 1) {
tsMnodeShellPort = atoi(argv[++i]); arguments->port = atoi(argv[++i]);
} else { } else {
fprintf(stderr, "option -P requires an argument\n"); fprintf(stderr, "option -P requires an argument\n");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
......
...@@ -68,7 +68,7 @@ TAOS *shellInit(struct arguments *args) { ...@@ -68,7 +68,7 @@ TAOS *shellInit(struct arguments *args) {
tsMeterMetaKeepTimer = 3000; tsMeterMetaKeepTimer = 3000;
// Connect to the database. // Connect to the database.
TAOS *con = taos_connect(args->host, args->user, args->password, args->database, tsMnodeShellPort); TAOS *con = taos_connect(args->host, args->user, args->password, args->database, args->port);
if (con == NULL) { if (con == NULL) {
return con; return con;
} }
......
...@@ -63,7 +63,7 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state) { ...@@ -63,7 +63,7 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state) {
break; break;
case 'P': case 'P':
if (arg) { if (arg) {
tsMnodeShellPort = atoi(arg); arguments->port = atoi(arg);
} else { } else {
fprintf(stderr, "Invalid port\n"); fprintf(stderr, "Invalid port\n");
return -1; return -1;
......
...@@ -61,7 +61,7 @@ void shellParseArgument(int argc, char *argv[], struct arguments *arguments) { ...@@ -61,7 +61,7 @@ void shellParseArgument(int argc, char *argv[], struct arguments *arguments) {
// for management port // for management port
else if (strcmp(argv[i], "-P") == 0) { else if (strcmp(argv[i], "-P") == 0) {
if (i < argc - 1) { if (i < argc - 1) {
tsMnodeShellPort = atoi(argv[++i]); arguments->port = atoi(argv[++i]);
} else { } else {
fprintf(stderr, "option -P requires an argument\n"); fprintf(stderr, "option -P requires an argument\n");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
......
...@@ -426,6 +426,7 @@ static int32_t mgmtDropDnodeByEp(char *ep) { ...@@ -426,6 +426,7 @@ static int32_t mgmtDropDnodeByEp(char *ep) {
return TSDB_CODE_NO_REMOVE_MASTER; return TSDB_CODE_NO_REMOVE_MASTER;
} }
mPrint("dnode:%d, start to drop it", pDnode->dnodeId);
#ifndef _SYNC #ifndef _SYNC
return mgmtDropDnode(pDnode); return mgmtDropDnode(pDnode);
#else #else
......
...@@ -160,10 +160,7 @@ static int32_t mgmtVgroupActionUpdate(SSdbOper *pOper) { ...@@ -160,10 +160,7 @@ static int32_t mgmtVgroupActionUpdate(SSdbOper *pOper) {
mgmtDecVgroupRef(pVgroup); mgmtDecVgroupRef(pVgroup);
mTrace("vgId:%d, is updated, numOfVnode:%d", pVgroup->vgId, pVgroup->numOfVnodes); mTrace("vgId:%d, is updated, numOfVnode:%d tables:%d", pVgroup->vgId, pVgroup->numOfVnodes, pDb == NULL ? 0 : pDb->cfg.maxTables);
if (pDb) {
mTrace("tables:%d", pDb->cfg.maxTables);
}
return TSDB_CODE_SUCCESS; return TSDB_CODE_SUCCESS;
} }
......
...@@ -1364,7 +1364,7 @@ static int rpcCheckAuthentication(SRpcConn *pConn, char *msg, int msgLen) { ...@@ -1364,7 +1364,7 @@ static int rpcCheckAuthentication(SRpcConn *pConn, char *msg, int msgLen) {
} }
} }
} else { } else {
tTrace("%s %p, auth spi not matched, msg discarded", pRpc->label, pConn); tTrace("%s %p, auth spi:%d not matched with received:%d", pRpc->label, pConn, pConn->spi, pHead->spi);
code = TSDB_CODE_AUTH_FAILURE; code = TSDB_CODE_AUTH_FAILURE;
} }
......
...@@ -41,6 +41,7 @@ typedef struct _taos_qset { ...@@ -41,6 +41,7 @@ typedef struct _taos_qset {
pthread_mutex_t mutex; pthread_mutex_t mutex;
int32_t numOfQueues; int32_t numOfQueues;
int32_t numOfItems; int32_t numOfItems;
tsem_t sem;
} STaosQset; } STaosQset;
typedef struct _taos_qall { typedef struct _taos_qall {
...@@ -59,6 +60,7 @@ taos_queue taosOpenQueue() { ...@@ -59,6 +60,7 @@ taos_queue taosOpenQueue() {
} }
pthread_mutex_init(&queue->mutex, NULL); pthread_mutex_init(&queue->mutex, NULL);
return queue; return queue;
} }
...@@ -79,7 +81,7 @@ void taosCloseQueue(taos_queue param) { ...@@ -79,7 +81,7 @@ void taosCloseQueue(taos_queue param) {
} }
pthread_mutex_unlock(&queue->mutex); pthread_mutex_unlock(&queue->mutex);
pthread_mutex_destroy(&queue->mutex);
free(queue); free(queue);
} }
...@@ -116,11 +118,12 @@ int taosWriteQitem(taos_queue param, int type, void *item) { ...@@ -116,11 +118,12 @@ int taosWriteQitem(taos_queue param, int type, void *item) {
queue->numOfItems++; queue->numOfItems++;
if (queue->qset) atomic_add_fetch_32(&queue->qset->numOfItems, 1); if (queue->qset) atomic_add_fetch_32(&queue->qset->numOfItems, 1);
uTrace("item:%p is put into queue:%p, type:%d items:%d", item, queue, type, queue->numOfItems); uTrace("item:%p is put into queue:%p, type:%d items:%d", item, queue, type, queue->numOfItems);
pthread_mutex_unlock(&queue->mutex); pthread_mutex_unlock(&queue->mutex);
if (queue->qset) tsem_post(&queue->qset->sem);
return 0; return 0;
} }
...@@ -217,12 +220,15 @@ taos_qset taosOpenQset() { ...@@ -217,12 +220,15 @@ taos_qset taosOpenQset() {
} }
pthread_mutex_init(&qset->mutex, NULL); pthread_mutex_init(&qset->mutex, NULL);
tsem_init(&qset->sem, 0, 0);
return qset; return qset;
} }
void taosCloseQset(taos_qset param) { void taosCloseQset(taos_qset param) {
STaosQset *qset = (STaosQset *)param; STaosQset *qset = (STaosQset *)param;
pthread_mutex_destroy(&qset->mutex);
tsem_destroy(&qset->sem);
free(qset); free(qset);
} }
...@@ -298,6 +304,8 @@ int taosReadQitemFromQset(taos_qset param, int *type, void **pitem, void **phand ...@@ -298,6 +304,8 @@ int taosReadQitemFromQset(taos_qset param, int *type, void **pitem, void **phand
STaosQnode *pNode = NULL; STaosQnode *pNode = NULL;
int code = 0; int code = 0;
tsem_wait(&qset->sem);
pthread_mutex_lock(&qset->mutex); pthread_mutex_lock(&qset->mutex);
for(int i=0; i<qset->numOfQueues; ++i) { for(int i=0; i<qset->numOfQueues; ++i) {
...@@ -339,6 +347,7 @@ int taosReadAllQitemsFromQset(taos_qset param, taos_qall p2, void **phandle) { ...@@ -339,6 +347,7 @@ int taosReadAllQitemsFromQset(taos_qset param, taos_qall p2, void **phandle) {
STaosQall *qall = (STaosQall *)p2; STaosQall *qall = (STaosQall *)p2;
int code = 0; int code = 0;
tsem_wait(&qset->sem);
pthread_mutex_lock(&qset->mutex); pthread_mutex_lock(&qset->mutex);
for(int i=0; i<qset->numOfQueues; ++i) { for(int i=0; i<qset->numOfQueues; ++i) {
...@@ -364,6 +373,7 @@ int taosReadAllQitemsFromQset(taos_qset param, taos_qall p2, void **phandle) { ...@@ -364,6 +373,7 @@ int taosReadAllQitemsFromQset(taos_qset param, taos_qall p2, void **phandle) {
queue->tail = NULL; queue->tail = NULL;
queue->numOfItems = 0; queue->numOfItems = 0;
atomic_sub_fetch_32(&qset->numOfItems, qall->numOfItems); atomic_sub_fetch_32(&qset->numOfItems, qall->numOfItems);
for (int j=1; j<qall->numOfItems; ++j) tsem_wait(&qset->sem);
} }
pthread_mutex_unlock(&queue->mutex); pthread_mutex_unlock(&queue->mutex);
......
...@@ -184,6 +184,7 @@ int32_t vnodeOpen(int32_t vnode, char *rootDir) { ...@@ -184,6 +184,7 @@ int32_t vnodeOpen(int32_t vnode, char *rootDir) {
pVnode->status = TAOS_VN_STATUS_INIT; pVnode->status = TAOS_VN_STATUS_INIT;
pVnode->refCount = 1; pVnode->refCount = 1;
pVnode->version = 0; pVnode->version = 0;
pVnode->tsdbCfg.tsdbId = pVnode->vgId;
taosAddIntHash(tsDnodeVnodesHash, pVnode->vgId, (char *)(&pVnode)); taosAddIntHash(tsDnodeVnodesHash, pVnode->vgId, (char *)(&pVnode));
int32_t code = vnodeReadCfg(pVnode); int32_t code = vnodeReadCfg(pVnode);
......
cd ../../debug; cmake ..
#cd ../../debug; make clean
cd ../../debug; make
cd ../../../debug; cmake ..
#cd ../../../debug; make clean
cd ../../../debug; make
./test.sh -u -f unique/account/account_create.sim
./test.sh -u -f unique/account/account_delete.sim
./test.sh -u -f unique/account/account_len.sim
./test.sh -u -f unique/account/authority.sim
./test.sh -u -f unique/account/basic.sim
./test.sh -u -f unique/account/paras.sim
./test.sh -u -f unique/account/pass_alter.sim
./test.sh -u -f unique/account/pass_len.sim
./test.sh -u -f unique/account/usage.sim
./test.sh -u -f unique/account/user_create.sim
./test.sh -u -f unique/account/user_len.sim
#big
./test.sh -u -f unique/cluster/balance1.sim
./test.sh -u -f unique/cluster/balance2.sim
./test.sh -u -f unique/cluster/balance3.sim
./test.sh -u -f unique/column/replica3.sim
./test.sh -u -f unique/db/replica_add12.sim
./test.sh -u -f unique/db/replica_add13.sim
./test.sh -u -f unique/db/replica_add23.sim
./test.sh -u -f unique/db/replica_reduce21.sim
./test.sh -u -f unique/db/replica_reduce32.sim
./test.sh -u -f unique/db/replica_reduce31.sim
./test.sh -u -f unique/db/replica_part.sim
./test.sh -u -f unique/dnode/balance1.sim
./test.sh -u -f unique/dnode/balance2.sim
./test.sh -u -f unique/dnode/balance3.sim
./test.sh -u -f unique/dnode/balancex.sim
./test.sh -u -f unique/dnode/offline1.sim
./test.sh -u -f unique/dnode/offline2.sim
./test.sh -u -f unique/http/admin.sim
#import
#metrics
./test.sh -u -f unique/mnode/mgmt22.sim
./test.sh -u -f unique/mnode/mgmt23.sim
./test.sh -u -f unique/mnode/mgmt24.sim
./test.sh -u -f unique/mnode/mgmt25.sim
./test.sh -u -f unique/mnode/mgmt26.sim
./test.sh -u -f unique/mnode/mgmt33.sim
./test.sh -u -f unique/mnode/mgmt34.sim
#stream
#table
./test.sh -u -f unique/vnode/replica2_basic2.sim
./test.sh -u -f unique/vnode/replica3_basic.sim
\ No newline at end of file
./test.sh -f general/user/basic1.sim
./test.sh -f general/db/basic1.sim
./test.sh -f general/db/basic2.sim
./test.sh -f general/db/basic3.sim
./test.sh -f general/db/basic4.sim
./test.sh -f general/db/basic5.sim
./test.sh -f general/table/basic1.sim
./test.sh -f general/table/basic2.sim
./test.sh -f general/table/basic3.sim
\ No newline at end of file
...@@ -227,7 +227,8 @@ print ============= step6 ...@@ -227,7 +227,8 @@ print ============= step6
sql close sql close
sql connect owrite sql connect owrite
sleep 2000 sleep 2000
sql reset query cache
sleep 1000
sql create database d1 sql create database d1
sql create database d3 sql create database d3
sql create table d1.t1 (ts timestamp, i int) sql create table d1.t1 (ts timestamp, i int)
......
...@@ -4,7 +4,7 @@ run unique/account/account_len.sim ...@@ -4,7 +4,7 @@ run unique/account/account_len.sim
run unique/account/authority.sim run unique/account/authority.sim
run unique/account/basic.sim run unique/account/basic.sim
run unique/account/paras.sim run unique/account/paras.sim
#run unique/account/pass_alter.sim run unique/account/pass_alter.sim
run unique/account/pass_len.sim run unique/account/pass_len.sim
run unique/account/usage.sim run unique/account/usage.sim
run unique/account/user_create.sim run unique/account/user_create.sim
......
system sh/stop_dnodes.sh system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1 system sh/deploy.sh -n dnode1 -i 1
system sh/cfg.sh -n dnode1 -c numOfTotalVnodes -v 4 system sh/cfg.sh -n dnode1 -c numOfTotalVnodes -v 4
......
...@@ -92,7 +92,7 @@ $x = 0 ...@@ -92,7 +92,7 @@ $x = 0
show2: show2:
$x = $x + 1 $x = $x + 1
sleep 2000 sleep 2000
if $x == 30 then if $x == 20 then
return -1 return -1
endi endi
sql show dnodes -x show2 sql show dnodes -x show2
...@@ -134,7 +134,7 @@ $x = 0 ...@@ -134,7 +134,7 @@ $x = 0
show4: show4:
$x = $x + 1 $x = $x + 1
sleep 2000 sleep 2000
if $x == 30 then if $x == 20 then
return -1 return -1
endi endi
sql show dnodes -x show4 sql show dnodes -x show4
...@@ -442,19 +442,24 @@ sql reset query cache ...@@ -442,19 +442,24 @@ sql reset query cache
sleep 1000 sleep 1000
sql use c_b1_d1 sql use c_b1_d1
sql select * from c_b1_t1 sql select * from c_b1_d1.c_b1_t1
print $rows
print $data01 $data11 $data21 $data31 $data41
if $rows != 5 then if $rows != 5 then
return -1 return -1
endi endi
sql use c_b1_d2 sql use c_b1_d2
sql select * from c_b1_t2 sql select * from c_b1_d2.c_b1_t2
if $rows == 6 then print $rows
print $data01 $data11 $data21 $data31 $data41
if $rows != 6 then
return -1 return -1
endi endi
sql use c_b1_d3 sql use c_b1_d3
sql select * from c_b1_t3 order by t desc sql select * from c_b1_d3.c_b1_t3 order by t desc
print $rows
print $data01 $data11 $data21 $data31 $data41 print $data01 $data11 $data21 $data31 $data41
if $rows != 6 then if $rows != 6 then
return -1 return -1
...@@ -464,11 +469,13 @@ if $data01 != 36 then ...@@ -464,11 +469,13 @@ if $data01 != 36 then
endi endi
sql use c_b1_d4 sql use c_b1_d4
sql select * from c_b1_t4 order by t desc sql select * from c_b1_d4.c_b1_t4 order by t desc
print $rows
print $data01 $data11 $data21 $data31 $data41 print $data01 $data11 $data21 $data31 $data41
sql use c_b1_d5 sql use c_b1_d5
sql select * from c_b1_t5 order by t desc sql select * from c_b1_d5.c_b1_t5 order by t desc
print $rows
print $data01 $data11 $data21 $data31 $data41 print $data01 $data11 $data21 $data31 $data41
if $data01 != 51 then if $data01 != 51 then
return -1 return -1
...@@ -487,7 +494,8 @@ if $data41 != 55 then ...@@ -487,7 +494,8 @@ if $data41 != 55 then
endi endi
sql use c_b1_d6 sql use c_b1_d6
sql select * from c_b1_t6 order by t desc sql select * from c_b1_d6.c_b1_t6 order by t desc
print $rows
print $data01 $data11 $data21 $data31 $data41 print $data01 $data11 $data21 $data31 $data41
if $data01 != 61 then if $data01 != 61 then
return -1 return -1
...@@ -506,7 +514,8 @@ if $data41 != 65 then ...@@ -506,7 +514,8 @@ if $data41 != 65 then
endi endi
sql use c_b1_d7 sql use c_b1_d7
sql select * from c_b1_t7 order by t desc sql select * from c_b1_d7.c_b1_t7 order by t desc
print $rows
print $data01 $data11 $data21 $data31 $data41 print $data01 $data11 $data21 $data31 $data41
if $data01 != 71 then if $data01 != 71 then
return -1 return -1
...@@ -525,7 +534,8 @@ if $data41 != 75 then ...@@ -525,7 +534,8 @@ if $data41 != 75 then
endi endi
sql use c_b1_d8 sql use c_b1_d8
sql select * from c_b1_t8 order by t desc sql select * from c_b1_d8.c_b1_t8 order by t desc
print $rows
print $data01 $data11 $data21 $data31 $data41 print $data01 $data11 $data21 $data31 $data41
if $data01 != 81 then if $data01 != 81 then
return -1 return -1
......
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 numOfMPeers -v 3
system sh/cfg.sh -n dnode2 -c numOfMPeers -v 3
system sh/cfg.sh -n dnode3 -c numOfMPeers -v 3
system sh/cfg.sh -n dnode4 -c numOfMPeers -v 3
system sh/cfg.sh -n dnode1 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode2 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode4 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode1 -c clog -v 1
system sh/cfg.sh -n dnode2 -c clog -v 1
system sh/cfg.sh -n dnode3 -c clog -v 1
system sh/cfg.sh -n dnode4 -c clog -v 1
system sh/cfg.sh -n dnode1 -c mgmtEqualVnodeNum -v 0
system sh/cfg.sh -n dnode2 -c mgmtEqualVnodeNum -v 0
system sh/cfg.sh -n dnode3 -c mgmtEqualVnodeNum -v 0
system sh/cfg.sh -n dnode4 -c mgmtEqualVnodeNum -v 0
print ============== step1
print ========= start dnode1
system sh/exec_up.sh -n dnode1 -s start
sql connect
sql create database c_b1_d1 tables 4
sql use c_b1_d1
sql create table c_b1_t1 (t timestamp, i int)
sql insert into c_b1_t1 values(now+1s, 15)
sql insert into c_b1_t1 values(now+2s, 14)
sql insert into c_b1_t1 values(now+2s, 13)
sql insert into c_b1_t1 values(now+3s, 12)
sql insert into c_b1_t1 values(now+4s, 11)
sql create database c_b1_d2 tables 4
sql use c_b1_d2
sql create table c_b1_t2 (t timestamp, i int)
sql insert into c_b1_t2 values(now+1s, 25)
sql insert into c_b1_t2 values(now+2s, 24)
sql insert into c_b1_t2 values(now+3s, 23)
sql insert into c_b1_t2 values(now+4s, 22)
sql insert into c_b1_t2 values(now+5s, 21)
sql show dnodes
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
if $dnode1Vnodes != 2 then
return -1
endi
if $dnode2Vnodes != null then
return -1
endi
print ============================== step2
print ========= start dnode2
sleep 2000
sql create dnode $hostname2
system sh/exec_up.sh -n dnode2 -s start
sleep 5000
$x = 0
show2:
$x = $x + 1
sleep 2000
if $x == 30 then
return -1
endi
sql show dnodes -x show2
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
if $dnode1Vnodes != 3 then
goto show2
endi
if $dnode2Vnodes != 3 then
goto show2
endi
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print ============================== step3
print ========= add db3
sql create database c_b1_d3 tables 4
sql use c_b1_d3
sql create table c_b1_t3 (t timestamp, i int)
sql insert into c_b1_t3 values(now+1s, 35)
sql insert into c_b1_t3 values(now+2s, 34)
sql insert into c_b1_t3 values(now+3s, 33)
sql insert into c_b1_t3 values(now+4s, 32)
sql insert into c_b1_t3 values(now+5s, 31)
print ============================== step4
print ========= drop dnode2
sql drop dnode $hostname2
sleep 9000
$x = 0
show4:
$x = $x + 1
sleep 2000
if $x == 30 then
return -1
endi
sql show dnodes -x show4
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
if $dnode1Vnodes != 1 then
goto show4
endi
if $dnode2Vnodes != null then
goto show4
endi
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print ============================== step5
print ========= add dnode2
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
sleep 5000
system sh/exec_up.sh -n dnode2 -s start
sql create dnode $hostname2
sleep 9000
$x = 0
show5:
$x = $x + 1
sleep 2000
if $x == 20 then
return -1
endi
sql show dnodes -x show5
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
if $dnode1Vnodes != 2 then
goto show5
endi
if $dnode2Vnodes != 3 then
goto show5
endi
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print ============================== step6
print ========= drop dnode1
system sh/exec_up.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
$x = 0
show6:
$x = $x + 1
sleep 2000
if $x == 30 then
return -1
endi
sql show dnodes -x show6
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
if $dnode1Vnodes != null then
goto show6
endi
if $dnode2Vnodes != 1 then
goto show6
endi
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print ============================== step7
print ========= add dnode1
sql create dnode $hostname1
sleep 23000
system sh/exec_up.sh -n dnode1 -s start
sleep 14000
$x = 0
show7:
$x = $x + 1
sleep 2000
if $x == 20 then
return -1
endi
sql show dnodes -x show7
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
if $dnode1Vnodes != 3 then
goto show7
endi
if $dnode2Vnodes != 2 then
goto show7
endi
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print ============================== step8
print ========= drop dnode2
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
print stop dnode2 and sleep 10000
sleep 20000
sql drop dnode $hostname2
print drop dnode2 and sleep 9000
sleep 19000
$x = 0
show8:
$x = $x + 1
sleep 2000
if $x == 30 then
return -1
endi
sql show dnodes -x show8
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
if $dnode1Vnodes != 1 then
goto show8
endi
if $dnode2Vnodes != null then
goto show8
endi
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
if $dnode1Role != master then
return -1
endi
print ============================== step9
print ========= add dnode2
sql create dnode $hostname2
system sh/exec_up.sh -n dnode2 -s start
sleep 9000
$x = 0
show9:
$x = $x + 1
sleep 2000
if $x == 30 then
return -1
endi
sql show dnodes -x show9
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
if $dnode1Vnodes != 2 then
goto show9
endi
if $dnode2Vnodes != 3 then
goto show9
endi
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print ============================== step10
print ========= add db4
sql create database c_b1_d4 tables 4
sql use c_b1_d4
sql create table c_b1_t4 (t timestamp, i int)
sql insert into c_b1_t4 values(now+1s, 45)
sql insert into c_b1_t4 values(now+2s, 44)
sql insert into c_b1_t4 values(now+3s, 43)
sql insert into c_b1_t4 values(now+4s, 42)
sql insert into c_b1_t4 values(now+5s, 41)
$x = 0
show10:
$x = $x + 1
sleep 2000
if $x == 30 then
return -1
endi
sql show dnodes -x show10
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
if $dnode1Vnodes != 2 then
goto show10
endi
if $dnode2Vnodes != 2 then
goto show10
endi
sql use c_b1_d3
sql insert into c_b1_t3 values(now+1s, 35)
sql use c_b1_d2
sql insert into c_b1_t2 values(now+1s, 25)
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
if $dnode1Role != master then
return -1
endi
print ============================== step11
print ========= drop dnode2
sleep 2000
sql drop dnode $hostname2
sleep 9000
$x = 0
show11:
$x = $x + 1
sleep 2000
if $x == 20 then
return -1
endi
sql show dnodes -x show11
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
if $dnode1Vnodes != 0 then
goto show11
endi
if $dnode2Vnodes != null then
goto show11
endi
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
print ============================== step12
print ========= add db5
sql create database c_b1_d5 tables 4
sql use c_b1_d5
sql create table c_b1_t5 (t timestamp, i int) -x error3
print no enough vnodes, but create success
return -1
error3:
print ============================== step13
print ========= add dnode2
sql create dnode $hostname2
system sh/exec_up.sh -n dnode2 -s start
sleep 9000
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
sql use c_b1_d5;
$x = 0
create5:
$x = $x + 1
sleep 1000
if $x == 50 then
return -1
endi
sql create table c_b1_t5 (t timestamp, i int) -x create5
sql insert into c_b1_t5 values(now+1s, 55)
sql insert into c_b1_t5 values(now+2s, 54)
sql insert into c_b1_t5 values(now+3s, 53)
sql insert into c_b1_t5 values(now+4s, 52)
sql insert into c_b1_t5 values(now+5s, 51)
sql create database c_b1_d6
sql use c_b1_d6
$x = 0
create6:
$x = $x + 1
sleep 1000
if $x == 50 then
return -1
endi
sql create table c_b1_t6 (t timestamp, i int) -x create6
sql insert into c_b1_t6 values(now+1s, 65)
sql insert into c_b1_t6 values(now+2s, 64)
sql insert into c_b1_t6 values(now+3s, 63)
sql insert into c_b1_t6 values(now+4s, 62)
sql insert into c_b1_t6 values(now+5s, 61)
sql show dnodes
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
#if $dnode1Vnodes != 1 then
# return -1
#endi
#if $dnode2Vnodes != 1 then
# return -1
#endi
print ============================== step14
print ========= add dnode3
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
sleep 2000
sql create dnode $hostname3
system sh/exec_up.sh -n dnode3 -s start
sleep 15000
$x = 0
show14:
$x = $x + 1
sleep 2000
if $x == 30 then
return -1
endi
sql show dnodes -x show14
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
if $dnode1Vnodes != 2 then
goto show14
endi
if $dnode2Vnodes != 2 then
goto show14
endi
if $dnode3Vnodes != 2 then
goto show14
endi
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print ============================== step15
print ========= create db7 db8
sql create database c_b1_d7 tables 4
sql use c_b1_d7
sql create table c_b1_t7 (t timestamp, i int)
sql insert into c_b1_t7 values(now+1s, 75)
sql insert into c_b1_t7 values(now+2s, 74)
sql insert into c_b1_t7 values(now+3s, 73)
sql insert into c_b1_t7 values(now+4s, 72)
sql insert into c_b1_t7 values(now+5s, 71)
sql create database c_b1_d8
sql use c_b1_d8
sql create table c_b1_t8 (t timestamp, i int)
sql insert into c_b1_t8 values(now+1s, 85)
sql insert into c_b1_t8 values(now+2s, 84)
sql insert into c_b1_t8 values(now+3s, 83)
sql insert into c_b1_t8 values(now+4s, 82)
sql insert into c_b1_t8 values(now+5s, 81)
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print ========== add dnode4
sleep 2000
sql create dnode $hostname4
print sql create dnode $hostname4 over
system sh/exec_up.sh -n dnode4 -s start
print sleep 12000
sleep 12000
print sleep 12000 over
$x = 0
show15:
$x = $x + 1
sleep 2000
if $x == 15 then
return -1
endi
sql show dnodes -x show15
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
$dnode4Vnodes = $data2_4
print dnode4 $dnode4Vnodes
if $dnode1Vnodes != 2 then
goto show15
endi
if $dnode2Vnodes != 2 then
goto show15
endi
if $dnode3Vnodes != 2 then
goto show15
endi
if $dnode4Vnodes != 2 then
goto show15
endi
print ============================== step16
print ========= drop dnode4, create db9
sql drop dnode $hostname4
sleep 10000
sql create database c_b1_d9 tables 4
sql use c_b1_d9
sql create table c_b1_t9 (t timestamp, i int)
sql insert into c_b1_t9 values(now+1s, 95)
sql insert into c_b1_t9 values(now+2s, 94)
sql insert into c_b1_t9 values(now+3s, 93)
sql insert into c_b1_t9 values(now+4s, 92)
sql insert into c_b1_t9 values(now+5s, 91)
system sh/exec_up.sh -n dnode4 -s stop -x SIGINT
$x = 0
show16:
$x = $x + 1
sleep 2000
if $x == 30 then
return -1
endi
sql show dnodes -x show16
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
if $dnode1Vnodes != 1 then
goto show16
endi
if $dnode2Vnodes != 1 then
goto show16
endi
if $dnode3Vnodes != 1 then
goto show16
endi
print ============================== step17
print ========= check data
sleep 2000
sql use c_b1_d1
sql select * from c_b1_t1 order by t desc -x s1
s1:
sql use c_b1_d2
sql select * from c_b1_t2 order by t desc -x s2
print $data01 $data11 $data21 $data31 $data41
if $data01 != 25 then
return -1
endi
if $data11 != 21 then
return -1
endi
if $data21 != 22 then
return -1
endi
if $data31 != 23 then
return -1
endi
if $data41 != 24 then
return -1
endi
s2:
sql use c_b1_d3
sql select * from c_b1_t3 order by t desc -x s3
print $data01 $data11 $data21 $data31 $data41
if $data01 != 35 then
return -1
endi
s3:
sql use c_b1_d4
sql select * from c_b1_d4.c_b1_t4 order by t desc -x s4
print $data01 $data11 $data21 $data31 $data41
s4:
sql use c_b1_d5
sql select * from c_b1_d5.c_b1_t5 order by t desc -x s5
print $data01 $data11 $data21 $data31 $data41
if $data01 != 51 then
return -1
endi
if $data11 != 52 then
return -1
endi
if $data21 != 53 then
return -1
endi
if $data31 != 54 then
return -1
endi
if $data41 != 55 then
return -1
endi
s5:
sql use c_b1_d6
sql select * from c_b1_d6.c_b1_t6 order by t desc -x s6
print $data01 $data11 $data21 $data31 $data41
if $data01 != 61 then
return -1
endi
if $data11 != 62 then
return -1
endi
if $data21 != 63 then
return -1
endi
if $data31 != 64 then
return -1
endi
if $data41 != 65 then
return -1
endi
s6:
sql use c_b1_d7
sql select * from c_b1_d7.c_b1_t7 order by t desc -x s7
print $data01 $data11 $data21 $data31 $data41
if $data01 != 71 then
return -1
endi
if $data11 != 72 then
return -1
endi
if $data21 != 73 then
return -1
endi
if $data31 != 74 then
return -1
endi
if $data41 != 75 then
return -1
endi
s7:
sql use c_b1_d9
sql select * from c_b1_t9 order by t desc -x s8
print $data01 $data11 $data21 $data31 $data41
if $data01 != 91 then
return -1
endi
if $data11 != 92 then
return -1
endi
if $data21 != 93 then
return -1
endi
if $data31 != 94 then
return -1
endi
if $data41 != 95 then
return -1
endi
s8:
print ============================================ over
system sh/exec_up.sh -n dnode1 -s stop -x SIGINT
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
system sh/exec_up.sh -n dnode3 -s stop -x SIGINT
system sh/exec_up.sh -n dnode4 -s stop -x SIGINT
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/deploy.sh -n dnode5 -i 5
system sh/cfg.sh -n dnode1 -c numOfMPeers -v 1
system sh/cfg.sh -n dnode2 -c numOfMPeers -v 1
system sh/cfg.sh -n dnode3 -c numOfMPeers -v 1
system sh/cfg.sh -n dnode4 -c numOfMPeers -v 1
system sh/cfg.sh -n dnode5 -c numOfMPeers -v 1
system sh/cfg.sh -n dnode1 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode2 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode4 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode5 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode1 -c clog -v 1
system sh/cfg.sh -n dnode2 -c clog -v 1
system sh/cfg.sh -n dnode3 -c clog -v 1
system sh/cfg.sh -n dnode4 -c clog -v 1
system sh/cfg.sh -n dnode5 -c clog -v 1
system sh/cfg.sh -n dnode1 -c mgmtEqualVnodeNum -v 4
system sh/cfg.sh -n dnode2 -c mgmtEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mgmtEqualVnodeNum -v 4
system sh/cfg.sh -n dnode4 -c mgmtEqualVnodeNum -v 4
system sh/cfg.sh -n dnode5 -c mgmtEqualVnodeNum -v 4
print ============== step1
print ========= start dnode1
system sh/exec_up.sh -n dnode1 -s start
sleep 3000
sql connect
sql create dnode $hostname2
system sh/exec_up.sh -n dnode2 -s start
$x = 0
show1:
$x = $x + 1
sleep 1000
if $x == 50 then
return -1
endi
sql show dnodes -x show1
$dnode1Vnodes = $data2_1
print dnode1 $dnode2Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode3Vnodes
if $dnode1Vnodes != 4 then
goto show1
endi
if $dnode2Vnodes != 4 then
goto show1
endi
sleep 1000
sql create database c_b1_d1 tables 4
sql use c_b1_d1
sql create table c_b1_t1 (t timestamp, i int)
sql insert into c_b1_t1 values(now+1s, 15)
sql insert into c_b1_t1 values(now+2s, 14)
sql insert into c_b1_t1 values(now+2s, 13)
sql insert into c_b1_t1 values(now+3s, 12)
sql insert into c_b1_t1 values(now+4s, 11)
sql create database c_b1_d2 tables 4
sql use c_b1_d2
sql create table c_b1_t2 (t timestamp, i int)
sql insert into c_b1_t2 values(now+1s, 25)
sql insert into c_b1_t2 values(now+2s, 24)
sql insert into c_b1_t2 values(now+3s, 23)
sql insert into c_b1_t2 values(now+4s, 22)
sql insert into c_b1_t2 values(now+5s, 21)
sql show dnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
if $dnode2Vnodes != 2 then
return -1
endi
if $dnode3Vnodes != null then
return -1
endi
print ============================== step2
print ========= start dnode3
sleep 3000
sql create dnode $hostname3
system sh/exec_up.sh -n dnode3 -s start
sleep 8000
$x = 0
show2:
$x = $x + 1
sleep 1000
if $x == 50 then
return -1
endi
sql show dnodes -x show2
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
if $dnode2Vnodes != 3 then
goto show2
endi
if $dnode3Vnodes != 3 then
goto show2
endi
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print ============================== step3
print ========= add db3
sql create database c_b1_d3 tables 4
sql use c_b1_d3
sql create table c_b1_t3 (t timestamp, i int)
sql insert into c_b1_t3 values(now+1s, 35)
sql insert into c_b1_t3 values(now+2s, 34)
sql insert into c_b1_t3 values(now+3s, 33)
sql insert into c_b1_t3 values(now+4s, 32)
sql insert into c_b1_t3 values(now+5s, 31)
print ============================== step4
print ========= drop dnode3
sql drop dnode $hostname3
sleep 9000
$x = 0
show4:
$x = $x + 1
sleep 1000
if $x == 50 then
return -1
endi
sql show dnodes -x show4
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
if $dnode2Vnodes != 1 then
goto show4
endi
if $dnode3Vnodes != null then
goto show4
endi
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print ============================== step5
print ========= add dnode3
system sh/exec_up.sh -n dnode3 -s stop -x SIGINT
sleep 5000
system sh/exec_up.sh -n dnode3 -s start
sql create dnode $hostname3
sleep 9000
$x = 0
show5:
$x = $x + 1
sleep 1000
if $x == 50 then
return -1
endi
sql show dnodes -x show5
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
if $dnode2Vnodes != 2 then
goto show5
endi
if $dnode3Vnodes != 3 then
goto show5
endi
print ============================== step6
print ========= drop dnode2
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
print stop dnode2 and sleep 10000
sleep 10000
sql drop dnode $hostname2
print drop dnode2 and sleep 9000
sleep 9000
$x = 0
show6:
$x = $x + 1
sleep 2000
if $x == 30 then
return -1
endi
sql show dnodes -x show6
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
if $dnode2Vnodes != null then
goto show6
endi
if $dnode3Vnodes != 1 then
goto show6
endi
#only c_b2_d2 has data, c_b1_d1 and c_b1_d3 is null
print ============================== step7
print ========= add dnode2
sql create dnode $hostname2
system sh/exec_up.sh -n dnode2 -s start
sleep 9000
$x = 0
show7:
$x = $x + 1
sleep 1000
if $x == 50 then
return -1
endi
sql show dnodes -x show7
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
if $dnode2Vnodes != 3 then
goto show7
endi
if $dnode3Vnodes != 2 then
goto show7
endi
print ============================== step8
print ========= drop dnode3
system sh/exec_up.sh -n dnode3 -s stop -x SIGINT
print stop dnode3 and sleep 10000
sleep 10000
sql drop dnode $hostname3
print drop dnode3 and sleep 9000
sleep 9000
$x = 0
show8:
$x = $x + 1
sleep 1000
if $x == 50 then
return -1
endi
sql show dnodes -x show8
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
if $dnode2Vnodes != 1 then
goto show8
endi
if $dnode3Vnodes != null then
goto show8
endi
print ============================== step9
print ========= add dnode3
sql create dnode $hostname3
system sh/exec_up.sh -n dnode3 -s start
sleep 9000
$x = 0
show9:
$x = $x + 1
sleep 1000
if $x == 50 then
return -1
endi
sql show dnodes -x show9
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
if $dnode2Vnodes != 2 then
goto show9
endi
if $dnode3Vnodes != 3 then
goto show9
endi
print ============================== step10
print ========= add db4
sql create database c_b1_d4 tables 4
sql use c_b1_d4
sql create table c_b1_t4 (t timestamp, i int)
sql insert into c_b1_t4 values(now+1s, 45)
sql insert into c_b1_t4 values(now+2s, 44)
sql insert into c_b1_t4 values(now+3s, 43)
sql insert into c_b1_t4 values(now+4s, 42)
sql insert into c_b1_t4 values(now+5s, 41)
$x = 0
show10:
$x = $x + 1
sleep 1000
if $x == 50 then
return -1
endi
sql show dnodes -x show10
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
if $dnode2Vnodes != 2 then
goto show10
endi
if $dnode3Vnodes != 2 then
goto show10
endi
sql use c_b1_d3
sql insert into c_b1_t3 values(now+1s, 35)
sql use c_b1_d2
sql insert into c_b1_t2 values(now+1s, 25)
print ============================== step11
print ========= drop dnode3
sql drop dnode $hostname3
sleep 9000
$x = 0
show11:
$x = $x + 1
sleep 1000
if $x == 50 then
return -1
endi
sql show dnodes -x show11
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
if $dnode2Vnodes != 0 then
goto show11
endi
if $dnode3Vnodes != null then
goto show11
endi
system sh/exec_up.sh -n dnode3 -s stop -x SIGINT
print ============================== step12
print ========= add db5
sql create database c_b1_d5 tables 4
sql use c_b1_d5
print ============================== step13
print ========= add dnode3
sql create dnode $hostname3
system sh/exec_up.sh -n dnode3 -s start
sleep 9000
sql use c_b1_d5;
$x = 0
create5:
$x = $x + 1
sleep 1000
if $x == 50 then
return -1
endi
sql create table c_b1_t5 (t timestamp, i int) -x create5
sql insert into c_b1_t5 values(now+1s, 55)
sql insert into c_b1_t5 values(now+2s, 54)
sql insert into c_b1_t5 values(now+3s, 53)
sql insert into c_b1_t5 values(now+4s, 52)
sql insert into c_b1_t5 values(now+5s, 51)
sql create database c_b1_d6 tables 4
sql use c_b1_d6
$x = 0
create6:
$x = $x + 1
sleep 1000
if $x == 20 then
return -1
endi
sql create table c_b1_t6 (t timestamp, i int) -x create6
sql insert into c_b1_t6 values(now+1s, 65)
sql insert into c_b1_t6 values(now+2s, 64)
sql insert into c_b1_t6 values(now+3s, 63)
sql insert into c_b1_t6 values(now+4s, 62)
sql insert into c_b1_t6 values(now+5s, 61)
sql show dnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
#if $dnode2Vnodes != 1 then
# return -1
#endi
#if $dnode3Vnodes != 1 then
# return -1
#endi
print ============================== step14
print ========= add dnode4
sql create dnode $hostname4
system sh/exec_up.sh -n dnode4 -s start
sleep 10000
$x = 0
show14:
$x = $x + 1
sleep 1000
if $x == 50 then
return -1
endi
sql show dnodes -x show14
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
$dnode4Vnodes = $data2_4
print dnode4 $dnode4Vnodes
if $dnode2Vnodes != 2 then
goto show14
endi
if $dnode3Vnodes != 2 then
goto show14
endi
if $dnode4Vnodes != 2 then
goto show14
endi
print ============================== step15
print ========= create db7 db8
sql create database c_b1_d7 tables 4
sql use c_b1_d7
sql create table c_b1_t7 (t timestamp, i int)
sql insert into c_b1_t7 values(now+1s, 75)
sql insert into c_b1_t7 values(now+2s, 74)
sql insert into c_b1_t7 values(now+3s, 73)
sql insert into c_b1_t7 values(now+4s, 72)
sql insert into c_b1_t7 values(now+5s, 71)
sql create database c_b1_d8 tables 4
sql use c_b1_d8
sql create table c_b1_t8 (t timestamp, i int)
sql insert into c_b1_t8 values(now+1s, 85)
sql insert into c_b1_t8 values(now+2s, 84)
sql insert into c_b1_t8 values(now+3s, 83)
sql insert into c_b1_t8 values(now+4s, 82)
sql insert into c_b1_t8 values(now+5s, 81)
print ========== add dnode5
sql create dnode $hostname5
print sql create dnode $hostname5 over
system sh/exec_up.sh -n dnode5 -s start
print sleep 12000
sleep 12000
print sleep 12000 over
$x = 0
show15:
$x = $x + 1
sleep 1000
if $x == 30 then
return -1
endi
sql show dnodes -x show15
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
$dnode4Vnodes = $data2_4
print dnode4 $dnode4Vnodes
$dnode5Vnodes = $data2_5
print dnode5 $dnode5Vnodes
if $dnode2Vnodes != 2 then
goto show15
endi
if $dnode3Vnodes != 2 then
goto show15
endi
if $dnode4Vnodes != 2 then
goto show15
endi
if $dnode5Vnodes != 2 then
goto show15
endi
print ============================== step16
print ========= drop dnode5, create db9
sql drop dnode $hostname5
sleep 10000
sql create database c_b1_d9 tables 4
sql use c_b1_d9
sql create table c_b1_t9 (t timestamp, i int)
sql insert into c_b1_t9 values(now+1s, 95)
sql insert into c_b1_t9 values(now+2s, 94)
sql insert into c_b1_t9 values(now+3s, 93)
sql insert into c_b1_t9 values(now+4s, 92)
sql insert into c_b1_t9 values(now+5s, 91)
system sh/exec_up.sh -n dnode5 -s stop -x SIGINT
$x = 0
show16:
$x = $x + 1
sleep 1000
if $x == 50 then
return -1
endi
sql show dnodes -x show16
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
$dnode4Vnodes = $data2_4
print dnode4 $dnode4Vnodes
if $dnode2Vnodes != 1 then
goto show16
endi
if $dnode3Vnodes != 1 then
goto show16
endi
if $dnode4Vnodes != 1 then
goto show16
endi
print ============================== step17
print ========= check data
sql use c_b1_d1
sql select * from c_b1_t1
if $rows != 0 then
return -1
endi
sql use c_b1_d2
sql select * from c_b1_t2
if $rows != 6 then
return -1
endi
sql use c_b1_d3
sql select * from c_b1_t3 order by t desc
print $data01 $data11 $data21 $data31 $data41
if $rows != 1 then
return -1
endi
if $data01 != 35 then
return -1
endi
sql use c_b1_d4
sql select * from c_b1_t4 order by t desc
print $data01 $data11 $data21 $data31 $data41
if $data01 != 41 then
return -1
endi
if $data11 != 42 then
return -1
endi
if $data21 != 43 then
return -1
endi
if $data31 != 44 then
return -1
endi
if $data41 != 45 then
return -1
endi
sql use c_b1_d5
sql select * from c_b1_t5 order by t desc
print $data01 $data11 $data21 $data31 $data41
if $data01 != 51 then
return -1
endi
if $data11 != 52 then
return -1
endi
if $data21 != 53 then
return -1
endi
if $data31 != 54 then
return -1
endi
if $data41 != 55 then
return -1
endi
sql use c_b1_d6
sql select * from c_b1_t6 order by t desc
print $data01 $data11 $data21 $data31 $data41
if $data01 != 61 then
return -1
endi
if $data11 != 62 then
return -1
endi
if $data21 != 63 then
return -1
endi
if $data31 != 64 then
return -1
endi
if $data41 != 65 then
return -1
endi
sql use c_b1_d7
sql select * from c_b1_t7 order by t desc
print $data01 $data11 $data21 $data31 $data41
if $data01 != 71 then
return -1
endi
if $data11 != 72 then
return -1
endi
if $data21 != 73 then
return -1
endi
if $data31 != 74 then
return -1
endi
if $data41 != 75 then
return -1
endi
sql use c_b1_d8
sql select * from c_b1_t8 order by t desc
print $data01 $data11 $data21 $data31 $data41
if $data01 != 81 then
return -1
endi
if $data11 != 82 then
return -1
endi
if $data21 != 83 then
return -1
endi
if $data31 != 84 then
return -1
endi
if $data41 != 85 then
return -1
endi
sql use c_b1_d9
sql select * from c_b1_t9 order by t desc
print $data01 $data11 $data21 $data31 $data41
if $data01 != 91 then
return -1
endi
if $data11 != 92 then
return -1
endi
if $data21 != 93 then
return -1
endi
if $data31 != 94 then
return -1
endi
if $data41 != 95 then
return -1
endi
print ============================================ over
#system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
#system sh/exec_up.sh -n dnode3 -s stop -x SIGINT
#system sh/exec_up.sh -n dnode4 -s stop -x SIGINT
#system sh/exec_up.sh -n dnode5 -s stop -x SIGINT
...@@ -128,13 +128,13 @@ print dnode2 $dnode2Vnodes ...@@ -128,13 +128,13 @@ print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3 $dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes print dnode3 $dnode3Vnodes
if $dnode1Vnodes != 1 then if $dnode1Vnodes != 3 then
goto show2 goto show2
endi endi
if $dnode2Vnodes != null then if $dnode2Vnodes != null then
goto show2 goto show2
endi endi
if $dnode3Vnodes != 1 then if $dnode3Vnodes != 3 then
goto show2 goto show2
endi endi
...@@ -151,18 +151,9 @@ print dnode4 ==> $dnode4Role ...@@ -151,18 +151,9 @@ print dnode4 ==> $dnode4Role
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
print ============================== step3 print ============================== step3
print ========= start dnode2 print ========= start dnode4
sql create dnode $hostname2 sql create dnode $hostname4
system sh/exec_up.sh -n dnode4 -s start
sleep 3000
system sh/deploy.sh -n dnode2 -i 2
system sh/cfg.sh -n dnode2 -c numOfMPeers -v 3
system sh/cfg.sh -n dnode2 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode2 -c clog -v 1
system sh/cfg.sh -n dnode2 -c mgmtEqualVnodeNum -v 0
sleep 3000
system sh/exec_up.sh -n dnode2 -s start
sleep 10000 sleep 10000
$x = 0 $x = 0
...@@ -175,15 +166,15 @@ show3: ...@@ -175,15 +166,15 @@ show3:
sql show dnodes -x show3 sql show dnodes -x show3
$dnode1Vnodes = $data2_1 $dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2 $dnode4Vnodes = $data2_4
print dnode2 $dnode2Vnodes print dnode4 $dnode4Vnodes
$dnode3Vnodes = $data2_3 $dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes print dnode3 $dnode3Vnodes
if $dnode1Vnodes != 2 then if $dnode1Vnodes != 2 then
goto show3 goto show3
endi endi
if $dnode2Vnodes != 2 then if $dnode4Vnodes != 2 then
goto show3 goto show3
endi endi
if $dnode3Vnodes != 2 then if $dnode3Vnodes != 2 then
...@@ -200,6 +191,20 @@ print dnode2 ==> $dnode2Role ...@@ -200,6 +191,20 @@ print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role print dnode4 ==> $dnode4Role
if $dnode1Role != master then
return -1
endi
if $dnode2Role != null then
return -1
endi
if $dnode3Role != slave then
return -1
endi
if $dnode4Role != slave then
return -1
endi
print ============================== step4 print ============================== step4
print ========= drop dnode3 print ========= drop dnode3
sql drop dnode $hostname3 sql drop dnode $hostname3
...@@ -215,15 +220,15 @@ show4: ...@@ -215,15 +220,15 @@ show4:
sql show dnodes -x show4 sql show dnodes -x show4
$dnode1Vnodes = $data2_1 $dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2 $dnode4Vnodes = $data2_4
print dnode2 $dnode2Vnodes print dnode4 $dnode4Vnodes
$dnode3Vnodes = $data2_3 $dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes print dnode3 $dnode3Vnodes
if $dnode1Vnodes != 1 then if $dnode1Vnodes != 3 then
goto show4 goto show4
endi endi
if $dnode2Vnodes != 1 then if $dnode4Vnodes != 3 then
goto show4 goto show4
endi endi
if $dnode3Vnodes != null then if $dnode3Vnodes != null then
...@@ -240,21 +245,26 @@ print dnode2 ==> $dnode2Role ...@@ -240,21 +245,26 @@ print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role print dnode4 ==> $dnode4Role
if $dnode1Role != master then
return -1
endi
if $dnode2Role != null then
return -1
endi
if $dnode3Role != null then
return -1
endi
if $dnode4Role != slave then
return -1
endi
system sh/exec_up.sh -n dnode3 -s stop -x SIGINT system sh/exec_up.sh -n dnode3 -s stop -x SIGINT
print ============================== step5 print ============================== step5
print ========= start dnode3 print ========= start dnode3
sql create dnode $hostname3 sql create dnode $hostname5
system sh/exec_up.sh -n dnode5 -s start
sleep 3000
system sh/deploy.sh -n dnode3 -i 3
system sh/cfg.sh -n dnode3 -c numOfMPeers -v 3
system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode3 -c clog -v 1
system sh/cfg.sh -n dnode3 -c mgmtEqualVnodeNum -v 0
sleep 3000
system sh/exec_up.sh -n dnode3 -s start
sleep 9000 sleep 9000
$x = 0 $x = 0
...@@ -267,33 +277,30 @@ show5: ...@@ -267,33 +277,30 @@ show5:
sql show dnodes -x show5 sql show dnodes -x show5
$dnode1Vnodes = $data2_1 $dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2 $dnode4Vnodes = $data2_4
print dnode2 $dnode2Vnodes print dnode4 $dnode4Vnodes
$dnode3Vnodes = $data2_3 $dnode5Vnodes = $data2_5
print dnode3 $dnode3Vnodes print dnode5 $dnode5Vnodes
if $dnode1Vnodes != 2 then if $dnode1Vnodes != 2 then
goto show5 goto show5
endi endi
if $dnode2Vnodes != 2 then if $dnode4Vnodes != 2 then
goto show5 goto show5
endi endi
if $dnode3Vnodes != 2 then if $dnode5Vnodes != 2 then
goto show5 goto show5
endi endi
sql show mnodes sql show mnodes
$dnode1Role = $data2_1 $dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4 $dnode4Role = $data2_4
$dnode5Role = $data2_5
print dnode1 ==> $dnode1Role print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role print dnode4 ==> $dnode4Role
print dnode5 ==> $dnode5Role
print ============================== step6 print ============================== step6
print ========= drop dnode1
system sh/exec_up.sh -n dnode1 -s stop -x SIGINT system sh/exec_up.sh -n dnode1 -s stop -x SIGINT
print stop dnode1 and sleep 10000 print stop dnode1 and sleep 10000
sleep 10000 sleep 10000
...@@ -302,347 +309,63 @@ sql drop dnode $hostname1 ...@@ -302,347 +309,63 @@ sql drop dnode $hostname1
print drop dnode1 and sleep 9000 print drop dnode1 and sleep 9000
sleep 9000 sleep 9000
$x = 0
show6:
$x = $x + 1
sleep 2000
if $x == 30 then
return -1
endi
sql show dnodes -x show6
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
if $dnode1Vnodes != null then
goto show6
endi
if $dnode2Vnodes != 1 then
goto show6
endi
if $dnode3Vnodes != 1 then
goto show6
endi
sql show mnodes sql show mnodes
$dnode1Role = $data2_1 $dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4 $dnode4Role = $data2_4
$dnode5Role = $data2_5
print dnode1 ==> $dnode1Role print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role print dnode4 ==> $dnode4Role
print dnode5 ==> $dnode5Role
print ============================== step7 if $dnode1Role != offline then
print ========= start dnode1 return -1
sql create dnode $hostname1
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
sleep 3000
system sh/deploy.sh -n dnode1 -i 1
system sh/cfg.sh -n dnode1 -c numOfMPeers -v 3
system sh/cfg.sh -n dnode1 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode1 -c clog -v 1
system sh/cfg.sh -n dnode1 -c mgmtEqualVnodeNum -v 0
sleep 3000
system sh/exec_up.sh -n dnode1 -s start
sleep 9000
$x = 0
show7:
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
$x = $x + 1
sleep 2000
if $x == 30 then
return -1
endi
sql show dnodes -x show7
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
if $dnode1Vnodes != 2 then
goto show7
endi
if $dnode2Vnodes != 2 then
goto show7
endi
if $dnode3Vnodes != 2 then
goto show7
endi
print ============================== step8
print ========= add db4
sql create database c_b2_d4 replica 2 tables 4
sql use c_b2_d4
sql create table c_b2_t4 (t timestamp, i int)
sql insert into c_b2_t4 values(1520000020045, 45)
sql insert into c_b2_t4 values(1520000021044, 44)
sql insert into c_b2_t4 values(1520000022043, 43)
sql insert into c_b2_t4 values(1520000023042, 42)
sql insert into c_b2_t4 values(1520000024041, 41)
sql create dnode $hostname4
system sh/exec_up.sh -n dnode4 -s start
sleep 9000
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
$x = 0
show8:
$x = $x + 1
sleep 2000
if $x == 30 then
return -1
endi
sql show dnodes -x show8
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
$dnode4Vnodes = $data2_4
print dnode4 $dnode4Vnodes
if $dnode1Vnodes != 2 then
goto show8
endi
if $dnode2Vnodes != 2 then
goto show8
endi
if $dnode3Vnodes != 2 then
goto show8
endi
if $dnode4Vnodes != 2 then
goto show8
endi
print ============================== step9
print ========= drop dnode1.4
sql drop dnode $hostname1
sql drop dnode $hostname4
sleep 10000
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
$x = 0
show9:
$x = $x + 1
sleep 2000
if $x == 30 then
return -1
endi
sql show dnodes -x show9
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
$dnode4Vnodes = $data2_4
print dnode4 $dnode4Vnodes
if $dnode1Vnodes != null then
goto show9
endi
if $dnode2Vnodes != 0 then
goto show9
endi
if $dnode3Vnodes != 0 then
goto show9
endi
if $dnode4Vnodes != null then
goto show9
endi endi
system sh/exec_up.sh -n dnode1 -s stop -x SIGINT print ============================== step6.1
system sh/exec_up.sh -n dnode4 -s stop -x SIGINT
print ============================== step10
print ========= start dnode1.4
sql create dnode $hostname1
sql create dnode $hostname4
sleep 3000
system sh/deploy.sh -n dnode1 -i 1
ssystem sh/cfg.sh -n dnode1 -c numOfMPeers -v 3
system sh/cfg.sh -n dnode1 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode1 -c clog -v 1
system sh/cfg.sh -n dnode1 -c mgmtEqualVnodeNum -v 0
sleep 3000
sleep 3000
system sh/deploy.sh -n dnode4 -i 4
system sh/cfg.sh -n dnode4 -c numOfMPeers -v 3
system sh/cfg.sh -n dnode4 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode4 -c clog -v 1
system sh/cfg.sh -n dnode4 -c mgmtEqualVnodeNum -v 0
sleep 3000
system sh/exec_up.sh -n dnode1 -s start system sh/exec_up.sh -n dnode1 -s start
system sh/exec_up.sh -n dnode4 -s start
sleep 10000
$x = 0 $x = 0
show10: show6:
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
$x = $x + 1 $x = $x + 1
sleep 2000 sleep 2000
if $x == 30 then if $x == 30 then
return -1 return -1
endi endi
sql show dnodes -x show10 sql show dnodes -x show6
$dnode1Vnodes = $data2_1 $dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
$dnode4Vnodes = $data2_4 $dnode4Vnodes = $data2_4
print dnode4 $dnode4Vnodes print dnode4 $dnode4Vnodes
$dnode5Vnodes = $data2_5
print dnode5 $dnode5Vnodes
if $dnode1Vnodes != 2 then if $dnode1Vnodes != null then
goto show10 goto show6
endi
if $dnode2Vnodes != 2 then
goto show10
endi endi
if $dnode3Vnodes != 2 then if $dnode4Vnodes != 3 then
goto show10 goto show6
endi endi
if $dnode4Vnodes != 2 then if $dnode5Vnodes != 3 then
goto show10 goto show6
endi endi
print ============================== step11
sql show mnodes sql show mnodes
$dnode1Role = $data2_1 $dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4 $dnode4Role = $data2_4
$dnode5Role = $data2_5
print dnode1 ==> $dnode1Role print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role print dnode4 ==> $dnode4Role
print dnode5 ==> $dnode5Role
sql create database c_b2_d5 replica 2 tables 4 #system sh/exec_up.sh -n dnode1 -s stop -x SIGINT
sql use c_b2_d5;
sql create table c_b2_t5 (t timestamp, i int)
sql insert into c_b2_t5 values(1520000020055, 55)
sql insert into c_b2_t5 values(1520000021054, 54)
sql insert into c_b2_t5 values(1520000022053, 53)
sql insert into c_b2_t5 values(1520000023052, 52)
sql insert into c_b2_t5 values(1520000024051, 51)
sql create database c_b2_d6 replica 2 tables 4
sql use c_b2_d6
sql create table c_b2_t6 (t timestamp, i int)
sql insert into c_b2_t6 values(1520000020065, 65)
sql insert into c_b2_t6 values(1520000021064, 64)
sql insert into c_b2_t6 values(1520000022063, 63)
sql insert into c_b2_t6 values(1520000023062, 62)
sql insert into c_b2_t6 values(1520000024061, 61)
$x = 0
show11:
$x = $x + 1
sleep 2000
if $x == 30 then
return -1
endi
sql show dnodes -x show11
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
$dnode4Vnodes = $data2_4
print dnode4 $dnode4Vnodes
if $dnode1Vnodes != 1 then
goto show11
endi
if $dnode2Vnodes != 1 then
goto show11
endi
if $dnode3Vnodes != 1 then
goto show11
endi
if $dnode4Vnodes != 1 then
goto show11
endi
sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role
print ============================== step12 print ============================== step12
print ========= check data print ========= check data
sql use c_b2_d1 sql reset query cache
sql select * from c_b2_t1 order by t desc sleep 1000
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
if $data01 != 11 then if $data01 != 11 then
return -1 return -1
...@@ -660,8 +383,7 @@ if $data41 != 15 then ...@@ -660,8 +383,7 @@ if $data41 != 15 then
return -1 return -1
endi endi
sql use c_b2_d2 sql select * from c_b2_d2.c_b2_t2 order by t desc
sql select * from c_b2_t2 order by t desc
print $data01 $data11 $data21 $data31 $data41 print $data01 $data11 $data21 $data31 $data41
#if $data01 != 21 then #if $data01 != 21 then
...@@ -680,8 +402,7 @@ print $data01 $data11 $data21 $data31 $data41 ...@@ -680,8 +402,7 @@ print $data01 $data11 $data21 $data31 $data41
# return -1 # return -1
#endi #endi
sql use c_b2_d3 sql select * from c_b2_d3.c_b2_t3 order by t desc
sql select * from c_b2_t3 order by t desc
print $data01 $data11 $data21 $data31 $data41 print $data01 $data11 $data21 $data31 $data41
if $data01 != 31 then if $data01 != 31 then
return -1 return -1
...@@ -699,8 +420,7 @@ if $data41 != 35 then ...@@ -699,8 +420,7 @@ if $data41 != 35 then
return -1 return -1
endi endi
sql use c_b2_d4 sql select * from c_b2_d4.c_b2_t4 order by t desc
sql select * from c_b2_t4 order by t desc
print $data01 $data11 $data21 $data31 $data41 print $data01 $data11 $data21 $data31 $data41
if $data01 != 41 then if $data01 != 41 then
return -1 return -1
...@@ -718,8 +438,7 @@ if $data41 != 45 then ...@@ -718,8 +438,7 @@ if $data41 != 45 then
return -1 return -1
endi endi
sql use c_b2_d5 sql select * from c_b2_d5.c_b2_t5 order by t desc
sql select * from c_b2_t5 order by t desc
print $data01 $data11 $data21 $data31 $data41 print $data01 $data11 $data21 $data31 $data41
if $data01 != 51 then if $data01 != 51 then
return -1 return -1
...@@ -737,8 +456,7 @@ if $data41 != 55 then ...@@ -737,8 +456,7 @@ if $data41 != 55 then
return -1 return -1
endi endi
sql use c_b2_d6 sql select * from c_b2_d6.c_b2_t6 order by t desc
sql select * from c_b2_t6 order by t desc
print $data01 $data11 $data21 $data31 $data41 print $data01 $data11 $data21 $data31 $data41
if $data01 != 61 then if $data01 != 61 then
return -1 return -1
...@@ -756,7 +474,6 @@ if $data41 != 65 then ...@@ -756,7 +474,6 @@ if $data41 != 65 then
return -1 return -1
endi endi
print ============================================ over print ============================================ over
system sh/exec_up.sh -n dnode1 -s stop -x SIGINT system sh/exec_up.sh -n dnode1 -s stop -x SIGINT
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
...@@ -766,5 +483,3 @@ system sh/exec_up.sh -n dnode5 -s stop -x SIGINT ...@@ -766,5 +483,3 @@ system sh/exec_up.sh -n dnode5 -s stop -x SIGINT
system sh/exec_up.sh -n dnode6 -s stop -x SIGINT system sh/exec_up.sh -n dnode6 -s stop -x SIGINT
system sh/exec_up.sh -n dnode7 -s stop -x SIGINT system sh/exec_up.sh -n dnode7 -s stop -x SIGINT
system sh/exec_up.sh -n dnode8 -s stop -x SIGINT system sh/exec_up.sh -n dnode8 -s stop -x SIGINT
system sh/stop_dnodes.sh system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1 system sh/deploy.sh -n dnode1 -i 1
system sh/deploy.sh -n dnode2 -i 2 system sh/deploy.sh -n dnode2 -i 2
system sh/deploy.sh -n dnode3 -i 3 system sh/deploy.sh -n dnode3 -i 3
...@@ -188,16 +179,8 @@ endi ...@@ -188,16 +179,8 @@ endi
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
print ============================== step4 print ============================== step4
print ========= start dnode2 sql create dnode $hostname5
sleep 3000 system sh/exec_up.sh -n dnode5 -s start
system sh/deploy.sh -n dnode2 -i 2
system sh/cfg.sh -n dnode2 -c numOfMPeers -v 3
system sh/cfg.sh -n dnode2 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode2 -c clog -v 1
system sh/cfg.sh -n dnode2 -c mgmtEqualVnodeNum -v 0
sleep 3000
sql create dnode $hostname2
system sh/exec_up.sh -n dnode2 -s start
sleep 10000 sleep 10000
$x = 0 $x = 0
...@@ -210,14 +193,14 @@ show4: ...@@ -210,14 +193,14 @@ show4:
sql show dnodes -x show4 sql show dnodes -x show4
$dnode1Vnodes = $data2_1 $dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2 $dnode5Vnodes = $data2_5
print dnode2 $dnode2Vnodes print dnode5 $dnode5Vnodes
$dnode3Vnodes = $data2_3 $dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes print dnode3 $dnode3Vnodes
$dnode4Vnodes = $data2_4 $dnode4Vnodes = $data2_4
print dnode4 $dnode4Vnodes print dnode4 $dnode4Vnodes
if $dnode2Vnodes != 2 then if $dnode5Vnodes != 2 then
goto show4 goto show4
endi endi
...@@ -236,8 +219,8 @@ show5: ...@@ -236,8 +219,8 @@ show5:
sql show dnodes -x show5 sql show dnodes -x show5
$dnode1Vnodes = $data2_1 $dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2 $dnode5Vnodes = $data2_5
print dnode2 $dnode2Vnodes print dnode5 $dnode5Vnodes
$dnode3Vnodes = $data2_3 $dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes print dnode3 $dnode3Vnodes
$dnode4Vnodes = $data2_4 $dnode4Vnodes = $data2_4
...@@ -246,7 +229,7 @@ print dnode4 $dnode4Vnodes ...@@ -246,7 +229,7 @@ print dnode4 $dnode4Vnodes
if $dnode1Vnodes != 1 then if $dnode1Vnodes != 1 then
goto show5 goto show5
endi endi
if $dnode2Vnodes != 1 then if $dnode5Vnodes != 1 then
goto show5 goto show5
endi endi
if $dnode3Vnodes != null then if $dnode3Vnodes != null then
...@@ -256,20 +239,11 @@ if $dnode4Vnodes != 1 then ...@@ -256,20 +239,11 @@ if $dnode4Vnodes != 1 then
goto show5 goto show5
endi endi
system sh/exec_up.sh -n dnode3 -s stop -x SIGINT system sh/exec_up.sh -n dnode3 -s stop -x SIGINT
print ============================== step6 print ============================== step6
print ========= start dnode3 sql create dnode $hostname6
sleep 3000 system sh/exec_up.sh -n dnode6 -s start
system sh/deploy.sh -n dnode3 -i 3
system sh/cfg.sh -n dnode3 -c numOfMPeers -v 3
system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode3 -c clog -v 1
system sh/cfg.sh -n dnode3 -c mgmtEqualVnodeNum -v 0
sleep 3000
sql create dnode $hostname3
system sh/exec_up.sh -n dnode3 -s start
sleep 9000 sleep 9000
$x = 0 $x = 0
...@@ -282,14 +256,14 @@ show6: ...@@ -282,14 +256,14 @@ show6:
sql show dnodes -x show6 sql show dnodes -x show6
$dnode1Vnodes = $data2_1 $dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
$dnode4Vnodes = $data2_4 $dnode4Vnodes = $data2_4
print dnode4 $dnode4Vnodes print dnode4 $dnode4Vnodes
$dnode5Vnodes = $data2_5
print dnode5 $dnode5Vnodes
$dnode6Vnodes = $data2_6
print dnode6 $dnode6Vnodes
if $dnode3Vnodes != 2 then if $dnode6Vnodes != 2 then
goto show6 goto show6
endi endi
...@@ -308,20 +282,20 @@ show7: ...@@ -308,20 +282,20 @@ show7:
sql show dnodes -x show7 sql show dnodes -x show7
$dnode1Vnodes = $data2_1 $dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
$dnode4Vnodes = $data2_4 $dnode4Vnodes = $data2_4
print dnode4 $dnode4Vnodes print dnode4 $dnode4Vnodes
$dnode5Vnodes = $data2_5
print dnode5 $dnode5Vnodes
$dnode6Vnodes = $data2_6
print dnode6 $dnode6Vnodes
if $dnode1Vnodes != 1 then if $dnode1Vnodes != 1 then
goto show7 goto show7
endi endi
if $dnode2Vnodes != 1 then if $dnode5Vnodes != 1 then
goto show7 goto show7
endi endi
if $dnode3Vnodes != 1 then if $dnode6Vnodes != 1 then
goto show7 goto show7
endi endi
if $dnode4Vnodes != null then if $dnode4Vnodes != null then
...@@ -331,16 +305,8 @@ endi ...@@ -331,16 +305,8 @@ endi
system sh/exec_up.sh -n dnode4 -s stop -x SIGINT system sh/exec_up.sh -n dnode4 -s stop -x SIGINT
print ============================== step8 print ============================== step8
print ========= start dnode4 sql create dnode $hostname7
sleep 3000 system sh/exec_up.sh -n dnode7 -s start
system sh/deploy.sh -n dnode4 -i 4
system sh/cfg.sh -n dnode4 -c numOfMPeers -v 3
system sh/cfg.sh -n dnode4 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode4 -c clog -v 1
system sh/cfg.sh -n dnode4 -c mgmtEqualVnodeNum -v 0
sleep 3000
sql create dnode $hostname4
system sh/exec_up.sh -n dnode4 -s start
sleep 9000 sleep 9000
$x = 0 $x = 0
...@@ -353,14 +319,14 @@ show8: ...@@ -353,14 +319,14 @@ show8:
sql show dnodes -x show8 sql show dnodes -x show8
$dnode1Vnodes = $data2_1 $dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2 $dnode5Vnodes = $data2_5
print dnode2 $dnode2Vnodes print dnode5 $dnode5Vnodes
$dnode3Vnodes = $data2_3 $dnode6Vnodes = $data2_6
print dnode3 $dnode3Vnodes print dnode6 $dnode6Vnodes
$dnode4Vnodes = $data2_4 $dnode7Vnodes = $data2_7
print dnode4 $dnode4Vnodes print dnode7 $dnode7Vnodes
if $dnode4Vnodes != 2 then if $dnode7Vnodes != 2 then
goto show8 goto show8
endi endi
...@@ -382,39 +348,26 @@ show9: ...@@ -382,39 +348,26 @@ show9:
return -1 return -1
endi endi
sql show dnodes -x show9 sql show dnodes -x show9
$dnode1Vnodes = $data2_1 $dnode5Vnodes = $data2_5
print dnode1 $dnode1Vnodes print dnode5 $dnode5Vnodes
$dnode2Vnodes = $data2_2 $dnode6Vnodes = $data2_6
print dnode2 $dnode2Vnodes print dnode6 $dnode6Vnodes
$dnode3Vnodes = $data2_3 $dnode7Vnodes = $data2_7
print dnode3 $dnode3Vnodes print dnode7 $dnode7Vnodes
$dnode4Vnodes = $data2_4
print dnode4 $dnode4Vnodes if $dnode5Vnodes != 1 then
if $dnode1Vnodes != null then
goto show9
endi
if $dnode2Vnodes != 1 then
goto show9 goto show9
endi endi
if $dnode3Vnodes != 1 then if $dnode6Vnodes != 1 then
goto show9 goto show9
endi endi
if $dnode4Vnodes != 1 then if $dnode7Vnodes != 1 then
goto show9 goto show9
endi endi
print ============================== step10 print ============================== step10
print ========= start dnode1 sql create dnode $hostname8
sleep 3000 system sh/exec_up.sh -n dnode8 -s start
system sh/deploy.sh -n dnode1 -i 1
system sh/cfg.sh -n dnode1 -c numOfMPeers -v 3
system sh/cfg.sh -n dnode1 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode1 -c clog -v 1
system sh/cfg.sh -n dnode1 -c mgmtEqualVnodeNum -v 0
sleep 3000
sql create dnode $hostname1
system sh/exec_up.sh -n dnode1 -s start
sleep 9000 sleep 9000
$x = 0 $x = 0
...@@ -425,16 +378,16 @@ show10: ...@@ -425,16 +378,16 @@ show10:
return -1 return -1
endi endi
sql show dnodes -x show10 sql show dnodes -x show10
$dnode1Vnodes = $data2_1 $dnode5Vnodes = $data2_5
print dnode1 $dnode1Vnodes print dnode5 $dnode5Vnodes
$dnode2Vnodes = $data2_2 $dnode6Vnodes = $data2_6
print dnode2 $dnode2Vnodes print dnode6 $dnode6Vnodes
$dnode3Vnodes = $data2_3 $dnode7Vnodes = $data2_7
print dnode3 $dnode3Vnodes print dnode7 $dnode7Vnodes
$dnode4Vnodes = $data2_4 $dnode8Vnodes = $data2_8
print dnode4 $dnode4Vnodes print dnode8 $dnode8Vnodes
if $dnode1Vnodes != 2 then if $dnode8Vnodes != 2 then
goto show10 goto show10
endi endi
...@@ -488,48 +441,15 @@ endi ...@@ -488,48 +441,15 @@ endi
# goto show11 # goto show11
#endi #endi
print ============================== step12
print ========= drop dnode1
sql drop dnode $hostname1
sleep 10000
$x = 0
show12:
$x = $x + 1
sleep 2000
if $x == 30 then
return -1
endi
sql show dnodes -x show12
$dnode1Vnodes = $data2_1
print dnode1 $dnode1Vnodes
$dnode2Vnodes = $data2_2
print dnode2 $dnode2Vnodes
$dnode3Vnodes = $data2_3
print dnode3 $dnode3Vnodes
$dnode4Vnodes = $data2_4
print dnode4 $dnode4Vnodes
if $dnode1Vnodes != null then
goto show12
endi
if $dnode2Vnodes != 0 then
goto show12
endi
if $dnode3Vnodes != 0 then
goto show12
endi
if $dnode4Vnodes != 0 then
goto show12
endi
system sh/exec_up.sh -n dnode1 -s stop -x SIGINT system sh/exec_up.sh -n dnode1 -s stop -x SIGINT
print ============================== step13 print ============================== step13
sql reset query cache
sleep 1000
print ========= check data print ========= check data
sql use c_b3_d1 sql select * from c_b3_d1.c_b3_t1 order by t desc
sql select * from c_b3_t1 order by t desc
print $data01 $data11 $data21 $data31 $data41 print $data01 $data11 $data21 $data31 $data41
if $data01 != 11 then if $data01 != 11 then
return -1 return -1
...@@ -547,8 +467,7 @@ if $data41 != 15 then ...@@ -547,8 +467,7 @@ if $data41 != 15 then
return -1 return -1
endi endi
sql use c_b3_d2 sql select * from c_b3_d2.c_b3_t2 order by t desc
sql select * from c_b3_t2 order by t desc
print $data01 $data11 $data21 $data31 $data41 print $data01 $data11 $data21 $data31 $data41
if $data01 != 21 then if $data01 != 21 then
...@@ -567,8 +486,7 @@ if $data41 != 25 then ...@@ -567,8 +486,7 @@ if $data41 != 25 then
return -1 return -1
endi endi
sql use c_b3_d3 sql select * from c_b3_d3.c_b3_t3 order by t desc
sql select * from c_b3_t3 order by t desc
print $data01 $data11 $data21 $data31 $data41 print $data01 $data11 $data21 $data31 $data41
if $data01 != 31 then if $data01 != 31 then
return -1 return -1
...@@ -586,8 +504,7 @@ if $data41 != 35 then ...@@ -586,8 +504,7 @@ if $data41 != 35 then
return -1 return -1
endi endi
sql use c_b3_d4 sql select * from c_b3_d4.c_b3_t4 order by t desc
sql select * from c_b3_t4 order by t desc
print $data01 $data11 $data21 $data31 $data41 print $data01 $data11 $data21 $data31 $data41
if $data01 != 41 then if $data01 != 41 then
return -1 return -1
...@@ -615,5 +532,3 @@ system sh/exec_up.sh -n dnode5 -s stop -x SIGINT ...@@ -615,5 +532,3 @@ system sh/exec_up.sh -n dnode5 -s stop -x SIGINT
system sh/exec_up.sh -n dnode6 -s stop -x SIGINT system sh/exec_up.sh -n dnode6 -s stop -x SIGINT
system sh/exec_up.sh -n dnode7 -s stop -x SIGINT system sh/exec_up.sh -n dnode7 -s stop -x SIGINT
system sh/exec_up.sh -n dnode8 -s stop -x SIGINT system sh/exec_up.sh -n dnode8 -s stop -x SIGINT
run unique/cluster/balance1.sim run unique/cluster/balance1.sim
run unique/cluster/balance2.sim run unique/cluster/balance2.sim
run unique/cluster/balance3.sim run unique/cluster/balance3.sim
run unique/cluster/balance1_bug.sim
run unique/cluster/balance1_single.sim
\ No newline at end of file
#################################
run unique/mnode/testSuite.sim
##################################
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册