add lru to index
This commit is contained in:
parent
a9e64f2938
commit
fe8ccabf7a
Binary file not shown.
|
@ -113,7 +113,7 @@ int indexOpen(SIndexOpts* opts, const char* path, SIndex** index) {
|
||||||
ret = TSDB_CODE_OUT_OF_MEMORY;
|
ret = TSDB_CODE_OUT_OF_MEMORY;
|
||||||
goto END;
|
goto END;
|
||||||
}
|
}
|
||||||
taosLRUCacheSetStrictCapacity(idx->lru, true);
|
taosLRUCacheSetStrictCapacity(idx->lru, false);
|
||||||
|
|
||||||
idx->tindex = idxTFileCreate(idx, path);
|
idx->tindex = idxTFileCreate(idx, path);
|
||||||
if (idx->tindex == NULL) {
|
if (idx->tindex == NULL) {
|
||||||
|
|
|
@ -106,12 +106,6 @@ static int idxFileCtxDoReadFrom(IFileCtx* ctx, uint8_t* buf, int len, int32_t of
|
||||||
blkLeft = kBlockSize - blkOffset;
|
blkLeft = kBlockSize - blkOffset;
|
||||||
|
|
||||||
} while (len > 0);
|
} while (len > 0);
|
||||||
|
|
||||||
#ifdef USE_MMAP
|
|
||||||
int32_t last = ctx->file.size - offset;
|
|
||||||
nRead = last >= len ? len : last;
|
|
||||||
memcpy(buf, ctx->file.ptr + offset, nRead);
|
|
||||||
#endif
|
|
||||||
return total;
|
return total;
|
||||||
}
|
}
|
||||||
static int idxFileCtxGetSize(IFileCtx* ctx) {
|
static int idxFileCtxGetSize(IFileCtx* ctx) {
|
||||||
|
@ -146,8 +140,6 @@ IFileCtx* idxFileCtxCreate(WriterType type, const char* path, bool readOnly, int
|
||||||
ctx->file.pFile = taosOpenFile(path, TD_FILE_CREATE | TD_FILE_WRITE | TD_FILE_APPEND);
|
ctx->file.pFile = taosOpenFile(path, TD_FILE_CREATE | TD_FILE_WRITE | TD_FILE_APPEND);
|
||||||
taosFtruncateFile(ctx->file.pFile, 0);
|
taosFtruncateFile(ctx->file.pFile, 0);
|
||||||
taosStatFile(path, &ctx->file.size, NULL);
|
taosStatFile(path, &ctx->file.size, NULL);
|
||||||
// ctx->file.size = (int)size;
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
ctx->file.pFile = taosOpenFile(path, TD_FILE_READ);
|
ctx->file.pFile = taosOpenFile(path, TD_FILE_READ);
|
||||||
|
|
||||||
|
@ -166,6 +158,7 @@ IFileCtx* idxFileCtxCreate(WriterType type, const char* path, bool readOnly, int
|
||||||
ctx->mem.buf = taosMemoryCalloc(1, sizeof(char) * capacity);
|
ctx->mem.buf = taosMemoryCalloc(1, sizeof(char) * capacity);
|
||||||
ctx->mem.cap = capacity;
|
ctx->mem.cap = capacity;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx->write = idxFileCtxDoWrite;
|
ctx->write = idxFileCtxDoWrite;
|
||||||
ctx->read = idxFileCtxDoRead;
|
ctx->read = idxFileCtxDoRead;
|
||||||
ctx->flush = idxFileCtxDoFlush;
|
ctx->flush = idxFileCtxDoFlush;
|
||||||
|
|
|
@ -753,6 +753,8 @@ static void cliHandleRelease(SCliMsg* pMsg, SCliThrd* pThrd) {
|
||||||
SExHandle* exh = transAcquireExHandle(transGetRefMgt(), refId);
|
SExHandle* exh = transAcquireExHandle(transGetRefMgt(), refId);
|
||||||
if (exh == NULL) {
|
if (exh == NULL) {
|
||||||
tDebug("%" PRId64 " already release", refId);
|
tDebug("%" PRId64 " already release", refId);
|
||||||
|
destroyCmsg(pMsg);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SCliConn* conn = exh->handle;
|
SCliConn* conn = exh->handle;
|
||||||
|
|
Loading…
Reference in New Issue