From b101e425c34403ee242aa39de1a19bc93c3cc258 Mon Sep 17 00:00:00 2001 From: Cary Xu Date: Sun, 25 Sep 2022 22:30:48 +0800 Subject: [PATCH] chore: more logic for migrate with speed limited --- source/dnode/vnode/src/tsdb/tsdbReaderWriter.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c b/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c index bde628662d..8a4618992b 100644 --- a/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c +++ b/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c @@ -622,13 +622,17 @@ static int64_t tsdbFSendFile(TdFilePtr pOutFD, TdFilePtr pInFD, int64_t size, in } int64_t offset = 0; + int64_t tBytes = 0; int64_t nBytes = 0; int64_t startMs = 0; int64_t cost = 0; while ((offset + speed) < size) { startMs = taosGetTimestampMs(); - nBytes += taosFSendFile(pOutFD, pInFD, &offset, speed); + if ((nBytes = taosFSendFile(pOutFD, pInFD, &offset, speed)) < 0) { + return nBytes; + } cost = taosGetTimestampMs() - startMs; + tBytes += nBytes; if (cost < 0) { taosMsleep(1000); @@ -637,9 +641,12 @@ static int64_t tsdbFSendFile(TdFilePtr pOutFD, TdFilePtr pInFD, int64_t size, in } } if (offset < size) { - nBytes += taosFSendFile(pOutFD, pInFD, &offset, size - offset); + if ((nBytes = taosFSendFile(pOutFD, pInFD, &offset, size - offset)) < 0) { + return nBytes; + } + tBytes += nBytes; } - return nBytes; + return tBytes; } int32_t tsdbDFileSetCopy(STsdb *pTsdb, SDFileSet *pSetFrom, SDFileSet *pSetTo, int32_t maxSpeed) { -- GitLab