diff --git a/src/client/src/tscServer.c b/src/client/src/tscServer.c index 1b93096b4569bc152507f12bb434a182826a063d..64c0be92837e6713830dae163fd29c59966af7ee 100644 --- a/src/client/src/tscServer.c +++ b/src/client/src/tscServer.c @@ -469,6 +469,9 @@ void *tscProcessMsgFromServer(char *msg, void *ahandle, void *thandle) { if (pCmd->command > TSDB_SQL_MGMT) { tscProcessMgmtRedirect(pSql, pMsg->content + 1); + } else if (pCmd->command == TSDB_SQL_INSERT){ + pSql->index++; + pSql->maxRetry = TSDB_VNODES_SUPPORT * 2; } else { pSql->index++; } diff --git a/src/system/detail/src/vnodeShell.c b/src/system/detail/src/vnodeShell.c index 66bede89b74915a75762aca9f591b13f972f2167..99535c9aa439a10f93b6a571fac5ed2985bf9913 100644 --- a/src/system/detail/src/vnodeShell.c +++ b/src/system/detail/src/vnodeShell.c @@ -118,6 +118,9 @@ void *vnodeProcessMsgFromShell(char *msg, void *ahandle, void *thandle) { } else if (pMsg->msgType == TSDB_MSG_TYPE_SUBMIT) { if (vnodeList[vnode].vnodeStatus == TSDB_VN_STATUS_MASTER) { vnodeProcessShellSubmitRequest((char *) pMsg->content, pMsg->msgLen - sizeof(SIntMsg), pObj); + } else if (vnodeList[vnode].vnodeStatus == TSDB_VN_STATUS_SLAVE) { + taosSendSimpleRsp(thandle, pMsg->msgType + 1, TSDB_CODE_REDIRECT); + dTrace("vid:%d sid:%d, shell submit msg is redirect since in status:%s", vnode, sid, taosGetVnodeStatusStr(vnodeList[vnode].vnodeStatus)); } else { taosSendSimpleRsp(thandle, pMsg->msgType + 1, TSDB_CODE_NOT_READY); dTrace("vid:%d sid:%d, shell submit msg is ignored since in status:%s", vnode, sid, taosGetVnodeStatusStr(vnodeList[vnode].vnodeStatus));