diff --git a/src/inc/taosmsg.h b/src/inc/taosmsg.h index 66d5fdcfbe03e7215263d2dd0a51fef7ae6c0de9..09520f8ed7d3102dc558097a0c1dd1dc3c66b057 100644 --- a/src/inc/taosmsg.h +++ b/src/inc/taosmsg.h @@ -131,6 +131,7 @@ extern "C" { #define TSDB_CODE_FILE_BLOCK_TS_DISORDERED 108 // time stamp in file block is disordered #define TSDB_CODE_INVALID_COMMIT_LOG 109 // invalid commit log may be caused by insufficient sotrage #define TSDB_CODE_SERVER_NO_SPACE 110 +#define TSDB_CODE_INVALID_SUBMIT_MSG 111 // message type #define TSDB_MSG_TYPE_REG 1 diff --git a/src/rpc/src/tstring.c b/src/rpc/src/tstring.c index 967008221b820a8697f023d89c46fb84027b771d..d62cbaf7d31ff091a9d54b2098ab29b11376a294 100644 --- a/src/rpc/src/tstring.c +++ b/src/rpc/src/tstring.c @@ -235,4 +235,5 @@ char *tsError[] = {"success", "timestamp disordered in file block", "invalid commit log", "server no disk space", + "invalid submit message", }; diff --git a/src/system/src/vnodeShell.c b/src/system/src/vnodeShell.c index 33a4f5f36cb6ae97987d1f1d6d459832dde2c9d5..245da169ed722d5f9fa8f15da97fcf4693642ca9 100644 --- a/src/system/src/vnodeShell.c +++ b/src/system/src/vnodeShell.c @@ -510,6 +510,13 @@ int vnodeProcessShellSubmitRequest(char *pMsg, int msgLen, SShellObj *pObj) { goto _submit_over; } + if (pMeterObj->uid != pBlocks->uid) { + dError("vid:%d sid:%d, meterId:%s, uid:%lld, uid in msg:%lld, uid mismatch", vnode, sid, pMeterObj->meterId, + pMeterObj->uid, pBlocks->uid); + code = TSDB_CODE_INVALID_SUBMIT_MSG; + goto _submit_over; + } + // dont include sid, vid int subMsgLen = sizeof(pBlocks->numOfRows) + htons(pBlocks->numOfRows) * pMeterObj->bytesPerPoint; int sversion = htonl(pBlocks->sversion);