diff --git a/source/dnode/vnode/src/tsdb/tsdbCache.c b/source/dnode/vnode/src/tsdb/tsdbCache.c index 15109f8efc..ca3fb7027f 100644 --- a/source/dnode/vnode/src/tsdb/tsdbCache.c +++ b/source/dnode/vnode/src/tsdb/tsdbCache.c @@ -57,7 +57,7 @@ static int32_t tsdbOpenBCache(STsdb *pTsdb) { // SLRUCache *pCache = taosLRUCacheInit(10 * 1024 * 1024, 0, .5); int32_t szPage = pTsdb->pVnode->config.tsdbPageSize; - SLRUCache *pCache = taosLRUCacheInit(tsS3BlockCacheSize * tsS3BlockSize * szPage, 0, .5); + SLRUCache *pCache = taosLRUCacheInit((int64_t)tsS3BlockCacheSize * tsS3BlockSize * szPage, 0, .5); if (pCache == NULL) { code = TSDB_CODE_OUT_OF_MEMORY; goto _err; diff --git a/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c b/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c index c1faf01c9e..8c3efda856 100644 --- a/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c +++ b/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c @@ -63,7 +63,7 @@ static int32_t tsdbOpenFileImpl(STsdbFD *pFD) { } // not check file size when reading data files. - if (flag != TD_FILE_READ) { + if (flag != TD_FILE_READ && !pFD->s3File) { if (taosStatFile(path, &pFD->szFile, NULL, NULL) < 0) { code = TAOS_SYSTEM_ERROR(errno); // taosMemoryFree(pFD->pBuf); @@ -130,6 +130,9 @@ static int32_t tsdbWriteFilePage(STsdbFD *pFD) { } } + if (pFD->s3File) { + return code; + } if (pFD->pgno > 0) { int64_t n = taosLSeekFile(pFD->pFD, PAGE_OFFSET(pFD->pgno, pFD->szPage), SEEK_SET); if (n < 0) { @@ -282,6 +285,9 @@ _exit: int32_t tsdbFsyncFile(STsdbFD *pFD) { int32_t code = 0; + if (pFD->s3File) { + return code; + } code = tsdbWriteFilePage(pFD); if (code) goto _exit; diff --git a/source/dnode/vnode/src/vnd/vnodeCos.c b/source/dnode/vnode/src/vnd/vnodeCos.c index 15ecff250d..5f650be97d 100644 --- a/source/dnode/vnode/src/vnd/vnodeCos.c +++ b/source/dnode/vnode/src/vnd/vnodeCos.c @@ -111,15 +111,14 @@ int32_t s3PutObjectFromFile2(const char *file_str, const char *object_str) { clt_params = cos_create_resumable_clt_params_content(p, 1024 * 1024, 8, COS_FALSE, NULL); s = cos_resumable_upload_file(options, &bucket, &object, &file, headers, NULL, clt_params, NULL, &resp_headers, NULL); + log_status(s); if (!cos_status_is_ok(s)) { - vError("s3: %s", s->error_msg); + vError("s3: %d(%s)", s->code, s->error_msg); vError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(terrno)); - code = terrno; + code = TAOS_SYSTEM_ERROR(EIO); return code; } - log_status(s); - cos_pool_destroy(p); if (s->code != 200) { @@ -303,7 +302,7 @@ int32_t s3GetObjectBlock(const char *object_name, int64_t offset, int64_t block_ s = cos_get_object_to_buffer(options, &bucket, &object, headers, NULL, &download_buffer, &resp_headers); log_status(s); if (!cos_status_is_ok(s)) { - vError("s3: %s", s->error_msg); + vError("s3: %d(%s)", s->code, s->error_msg); vError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(terrno)); code = TAOS_SYSTEM_ERROR(EIO); return code;