From 2e12e819f4297aa36b52954b4ab4db59b2597acb Mon Sep 17 00:00:00 2001 From: Shengliang Guan Date: Mon, 2 Nov 2020 17:01:02 +0800 Subject: [PATCH 1/3] TD-1887 --- src/vnode/src/vnodeMain.c | 2 ++ src/wal/src/walMgmt.c | 13 +------------ src/wal/src/walWrite.c | 2 -- 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/src/vnode/src/vnodeMain.c b/src/vnode/src/vnodeMain.c index 03f1f36026..2dfa4962a2 100644 --- a/src/vnode/src/vnodeMain.c +++ b/src/vnode/src/vnodeMain.c @@ -310,6 +310,8 @@ int32_t vnodeOpen(int32_t vnode, char *rootDir) { pVnode->version = walGetVersion(pVnode->wal); } + walRenew(pVnode->wal); + SSyncInfo syncInfo; syncInfo.vgId = pVnode->vgId; syncInfo.version = pVnode->version; diff --git a/src/wal/src/walMgmt.c b/src/wal/src/walMgmt.c index 08123555dc..272f44b93a 100644 --- a/src/wal/src/walMgmt.c +++ b/src/wal/src/walMgmt.c @@ -145,18 +145,7 @@ static int32_t walInitObj(SWal *pWal) { return TAOS_SYSTEM_ERROR(errno); } - if (pWal->keep) { - return TSDB_CODE_SUCCESS; - } - - walRenew(pWal); - - if (pWal && pWal->fd < 0) { - wError("vgId:%d, file:%s, failed to open file since %s", pWal->vgId, pWal->path, strerror(errno)); - return TAOS_SYSTEM_ERROR(errno); - } - - wDebug("vgId:%d, file is initialized", pWal->vgId); + wDebug("vgId:%d, object is initialized", pWal->vgId); return TSDB_CODE_SUCCESS; } diff --git a/src/wal/src/walWrite.c b/src/wal/src/walWrite.c index f9bb5fe927..cadcf3f2f5 100644 --- a/src/wal/src/walWrite.c +++ b/src/wal/src/walWrite.c @@ -264,8 +264,6 @@ static int32_t walRestoreWalFile(SWal *pWal, void *pVnode, FWalWrite writeFp, ch wTrace("vgId:%d, fileId:%" PRId64 ", restore wal ver:%" PRIu64 ", head ver:%" PRIu64 " len:%d", pWal->vgId, pWal->fileId, pWal->version, pHead->version, pHead->len); - if (pWal->keep) pWal->version = pHead->version; - (*writeFp)(pVnode, pHead, TAOS_QTYPE_WAL); } From 7017fc365e072361a4c53a29e7e1f6e9f04666a5 Mon Sep 17 00:00:00 2001 From: Shengliang Guan Date: Mon, 2 Nov 2020 17:04:32 +0800 Subject: [PATCH 2/3] TD-1887 --- src/wal/src/walWrite.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/wal/src/walWrite.c b/src/wal/src/walWrite.c index cadcf3f2f5..f9bb5fe927 100644 --- a/src/wal/src/walWrite.c +++ b/src/wal/src/walWrite.c @@ -264,6 +264,8 @@ static int32_t walRestoreWalFile(SWal *pWal, void *pVnode, FWalWrite writeFp, ch wTrace("vgId:%d, fileId:%" PRId64 ", restore wal ver:%" PRIu64 ", head ver:%" PRIu64 " len:%d", pWal->vgId, pWal->fileId, pWal->version, pHead->version, pHead->len); + if (pWal->keep) pWal->version = pHead->version; + (*writeFp)(pVnode, pHead, TAOS_QTYPE_WAL); } From cf15f65363d4a774e5003310780ad4f86c15fe5c Mon Sep 17 00:00:00 2001 From: Shengliang Guan Date: Mon, 2 Nov 2020 17:06:38 +0800 Subject: [PATCH 3/3] TD-1887 --- src/wal/src/walWrite.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/wal/src/walWrite.c b/src/wal/src/walWrite.c index f9bb5fe927..09b65fa567 100644 --- a/src/wal/src/walWrite.c +++ b/src/wal/src/walWrite.c @@ -80,6 +80,7 @@ int32_t walWrite(void *handle, SWalHead *pHead) { int32_t code = 0; // no wal + if (pWal->fd <= 0) return 0; if (pWal->level == TAOS_WAL_NOLOG) return 0; if (pHead->version <= pWal->version) return 0;