From 33caf8e625f41e8cc0f9097926b718639ca5b45c Mon Sep 17 00:00:00 2001 From: 54liuyao <54liuyao@163.com> Date: Thu, 16 Feb 2023 13:48:47 +0800 Subject: [PATCH] fix:check stream --- include/util/taoserror.h | 1 + source/dnode/mnode/impl/src/mndStream.c | 6 ++++++ source/util/src/terror.c | 1 + 3 files changed, 8 insertions(+) diff --git a/include/util/taoserror.h b/include/util/taoserror.h index c75425425b..5aafdac3cd 100644 --- a/include/util/taoserror.h +++ b/include/util/taoserror.h @@ -359,6 +359,7 @@ int32_t* taosGetErrno(); #define TSDB_CODE_MND_STREAM_TASK_DROPPED TAOS_DEF_ERROR_CODE(0, 0x03F4) #define TSDB_CODE_MND_MULTI_REPLICA_SOURCE_DB TAOS_DEF_ERROR_CODE(0, 0x03F5) #define TSDB_CODE_MND_TOO_MANY_STREAMS TAOS_DEF_ERROR_CODE(0, 0x03F6) +#define TSDB_CODE_MND_INVALID_TARGET_TABLE TAOS_DEF_ERROR_CODE(0, 0x03F7) // mnode-sma #define TSDB_CODE_MND_SMA_ALREADY_EXIST TAOS_DEF_ERROR_CODE(0, 0x0480) diff --git a/source/dnode/mnode/impl/src/mndStream.c b/source/dnode/mnode/impl/src/mndStream.c index bf9168ac8f..99327d2776 100644 --- a/source/dnode/mnode/impl/src/mndStream.c +++ b/source/dnode/mnode/impl/src/mndStream.c @@ -696,6 +696,12 @@ static int32_t mndProcessCreateStreamReq(SRpcMsg *pReq) { terrno = TSDB_CODE_MND_TOO_MANY_STREAMS; goto _OVER; } + + if (pStream->targetStbUid == streamObj.targetStbUid) { + mError("Cannot write the same stable as other stream:%s", pStream->name); + terrno = TSDB_CODE_MND_INVALID_TARGET_TABLE; + goto _OVER; + } } } diff --git a/source/util/src/terror.c b/source/util/src/terror.c index fecdb4d32a..bd07fb3728 100644 --- a/source/util/src/terror.c +++ b/source/util/src/terror.c @@ -291,6 +291,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_MND_INVALID_STREAM_OPTION, "Invalid stream option TAOS_DEFINE_ERROR(TSDB_CODE_MND_STREAM_MUST_BE_DELETED, "Stream must be dropped first") TAOS_DEFINE_ERROR(TSDB_CODE_MND_MULTI_REPLICA_SOURCE_DB, "Stream temporarily does not support source db having replica > 1") TAOS_DEFINE_ERROR(TSDB_CODE_MND_TOO_MANY_STREAMS, "Too many streams") +TAOS_DEFINE_ERROR(TSDB_CODE_MND_INVALID_TARGET_TABLE, "Cannot write the same stable as other stream") // mnode-sma TAOS_DEFINE_ERROR(TSDB_CODE_MND_SMA_ALREADY_EXIST, "SMA already exists")