Merge pull request #29065 from taosdata/fix/create-db-log-and-return-code
fix/create-db-log-and-return-code
This commit is contained in:
commit
448745754c
|
@ -251,6 +251,7 @@ This document details the server error codes that may be encountered when using
|
||||||
| 0x80000529 | Vnode is stopped | Vnode is closed | Report issue |
|
| 0x80000529 | Vnode is stopped | Vnode is closed | Report issue |
|
||||||
| 0x80000530 | Duplicate write request | Duplicate write request, internal error | Report issue |
|
| 0x80000530 | Duplicate write request | Duplicate write request, internal error | Report issue |
|
||||||
| 0x80000531 | Vnode query is busy | Query is busy | Report issue |
|
| 0x80000531 | Vnode query is busy | Query is busy | Report issue |
|
||||||
|
| 0x80000540 | Vnode already exist but Dbid not match | Internal error | Report issue |
|
||||||
|
|
||||||
## tsdb
|
## tsdb
|
||||||
|
|
||||||
|
|
|
@ -261,6 +261,7 @@ description: TDengine 服务端的错误码列表和详细说明
|
||||||
| 0x80000529 | Vnode is stopped | Vnode 已经关闭 | 上报问题 |
|
| 0x80000529 | Vnode is stopped | Vnode 已经关闭 | 上报问题 |
|
||||||
| 0x80000530 | Duplicate write request | 重复写入请求,内部错误 | 上报问题 |
|
| 0x80000530 | Duplicate write request | 重复写入请求,内部错误 | 上报问题 |
|
||||||
| 0x80000531 | Vnode query is busy | 查询忙碌 | 上报问题 |
|
| 0x80000531 | Vnode query is busy | 查询忙碌 | 上报问题 |
|
||||||
|
| 0x80000540 | Vnode already exist but Dbid not match | 内部错误 | 上报问题 |
|
||||||
|
|
||||||
|
|
||||||
## tsdb
|
## tsdb
|
||||||
|
|
|
@ -565,6 +565,7 @@ int32_t taosGetErrSize();
|
||||||
#define TSDB_CODE_VND_ARB_NOT_SYNCED TAOS_DEF_ERROR_CODE(0, 0x0537) // internal
|
#define TSDB_CODE_VND_ARB_NOT_SYNCED TAOS_DEF_ERROR_CODE(0, 0x0537) // internal
|
||||||
#define TSDB_CODE_VND_WRITE_DISABLED TAOS_DEF_ERROR_CODE(0, 0x0538) // internal
|
#define TSDB_CODE_VND_WRITE_DISABLED TAOS_DEF_ERROR_CODE(0, 0x0538) // internal
|
||||||
#define TSDB_CODE_VND_TTL_FLUSH_INCOMPLETION TAOS_DEF_ERROR_CODE(0, 0x0539) // internal
|
#define TSDB_CODE_VND_TTL_FLUSH_INCOMPLETION TAOS_DEF_ERROR_CODE(0, 0x0539) // internal
|
||||||
|
#define TSDB_CODE_VND_ALREADY_EXIST_BUT_NOT_MATCH TAOS_DEF_ERROR_CODE(0, 0x0540)
|
||||||
|
|
||||||
// tsdb
|
// tsdb
|
||||||
#define TSDB_CODE_TDB_INVALID_TABLE_ID TAOS_DEF_ERROR_CODE(0, 0x0600)
|
#define TSDB_CODE_TDB_INVALID_TABLE_ID TAOS_DEF_ERROR_CODE(0, 0x0600)
|
||||||
|
|
|
@ -378,12 +378,11 @@ int32_t vmProcessCreateVnodeReq(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) {
|
||||||
|
|
||||||
snprintf(path, TSDB_FILENAME_LEN, "vnode%svnode%d", TD_DIRSEP, vnodeCfg.vgId);
|
snprintf(path, TSDB_FILENAME_LEN, "vnode%svnode%d", TD_DIRSEP, vnodeCfg.vgId);
|
||||||
|
|
||||||
if (vnodeCreate(path, &vnodeCfg, diskPrimary, pMgmt->pTfs) < 0) {
|
if ((code = vnodeCreate(path, &vnodeCfg, diskPrimary, pMgmt->pTfs)) < 0) {
|
||||||
dError("vgId:%d, failed to create vnode since %s", req.vgId, terrstr());
|
dError("vgId:%d, failed to create vnode since %s", req.vgId, tstrerror(code));
|
||||||
vmReleaseVnode(pMgmt, pVnode);
|
vmReleaseVnode(pMgmt, pVnode);
|
||||||
vmCleanPrimaryDisk(pMgmt, req.vgId);
|
vmCleanPrimaryDisk(pMgmt, req.vgId);
|
||||||
(void)tFreeSCreateVnodeReq(&req);
|
(void)tFreeSCreateVnodeReq(&req);
|
||||||
code = terrno != 0 ? terrno : -1;
|
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -94,7 +94,7 @@ static void vmUnRegisterCreatingState(SVnodeMgmt *pMgmt, int32_t vgId) {
|
||||||
dTrace("vgId:%d, remove from creating Hash", vgId);
|
dTrace("vgId:%d, remove from creating Hash", vgId);
|
||||||
r = taosHashRemove(pMgmt->creatingHash, &vgId, sizeof(int32_t));
|
r = taosHashRemove(pMgmt->creatingHash, &vgId, sizeof(int32_t));
|
||||||
if (r != 0) {
|
if (r != 0) {
|
||||||
dError("vgId:%d, failed to remove vnode from hash", vgId);
|
dError("vgId:%d, failed to remove vnode from creatingHash", vgId);
|
||||||
}
|
}
|
||||||
(void)taosThreadRwlockUnlock(&pMgmt->lock);
|
(void)taosThreadRwlockUnlock(&pMgmt->lock);
|
||||||
|
|
||||||
|
|
|
@ -67,8 +67,17 @@ int32_t vnodeCreate(const char *path, SVnodeCfg *pCfg, int32_t diskPrimary, STfs
|
||||||
SVnodeInfo oldInfo = {0};
|
SVnodeInfo oldInfo = {0};
|
||||||
oldInfo.config = vnodeCfgDefault;
|
oldInfo.config = vnodeCfgDefault;
|
||||||
if (vnodeLoadInfo(dir, &oldInfo) == 0) {
|
if (vnodeLoadInfo(dir, &oldInfo) == 0) {
|
||||||
vWarn("vgId:%d, vnode config info already exists at %s.", oldInfo.config.vgId, dir);
|
code = (oldInfo.config.dbId == info.config.dbId) ? 0 : TSDB_CODE_VND_ALREADY_EXIST_BUT_NOT_MATCH;
|
||||||
return (oldInfo.config.dbId == info.config.dbId) ? 0 : -1;
|
if (code == 0) {
|
||||||
|
vWarn("vgId:%d, vnode config info already exists at %s.", oldInfo.config.vgId, dir);
|
||||||
|
} else {
|
||||||
|
vError("vgId:%d, vnode config info already exists at %s. oldDbId:%" PRId64 "(%s) at cluster:%" PRId64
|
||||||
|
", newDbId:%" PRId64 "(%s) at cluser:%" PRId64 ", code:%s",
|
||||||
|
oldInfo.config.vgId, dir, oldInfo.config.dbId, oldInfo.config.dbname,
|
||||||
|
oldInfo.config.syncCfg.nodeInfo[oldInfo.config.syncCfg.myIndex].clusterId, info.config.dbId,
|
||||||
|
info.config.dbname, info.config.syncCfg.nodeInfo[info.config.syncCfg.myIndex].clusterId, tstrerror(code));
|
||||||
|
}
|
||||||
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
vInfo("vgId:%d, save config while create", info.config.vgId);
|
vInfo("vgId:%d, save config while create", info.config.vgId);
|
||||||
|
|
|
@ -443,6 +443,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_VND_ARB_NOT_SYNCED, "Vgroup peer is not sy
|
||||||
TAOS_DEFINE_ERROR(TSDB_CODE_VND_WRITE_DISABLED, "Vnode write is disabled for snapshot")
|
TAOS_DEFINE_ERROR(TSDB_CODE_VND_WRITE_DISABLED, "Vnode write is disabled for snapshot")
|
||||||
TAOS_DEFINE_ERROR(TSDB_CODE_VND_COLUMN_COMPRESS_ALREADY_EXIST,"Same with old param")
|
TAOS_DEFINE_ERROR(TSDB_CODE_VND_COLUMN_COMPRESS_ALREADY_EXIST,"Same with old param")
|
||||||
TAOS_DEFINE_ERROR(TSDB_CODE_VND_TTL_FLUSH_INCOMPLETION, "Failed to flush all ttl modification to tdb")
|
TAOS_DEFINE_ERROR(TSDB_CODE_VND_TTL_FLUSH_INCOMPLETION, "Failed to flush all ttl modification to tdb")
|
||||||
|
TAOS_DEFINE_ERROR(TSDB_CODE_VND_ALREADY_EXIST_BUT_NOT_MATCH, "Vnode already exist but Dbid not match")
|
||||||
|
|
||||||
|
|
||||||
// tsdb
|
// tsdb
|
||||||
|
|
Loading…
Reference in New Issue