From da56cb6753a7302f45d26ad117cafe686aed8054 Mon Sep 17 00:00:00 2001 From: jiefenghuang Date: Mon, 20 May 2024 10:57:37 +0800 Subject: [PATCH] disable disk cache state check when writeback enabled Signed-off-by: jiefenghuang --- pkg/chunk/disk_cache.go | 6 +++++- pkg/chunk/disk_cache_state.go | 18 ++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/pkg/chunk/disk_cache.go b/pkg/chunk/disk_cache.go index acc91a5fb5cb..8ecf94c80303 100644 --- a/pkg/chunk/disk_cache.go +++ b/pkg/chunk/disk_cache.go @@ -130,7 +130,11 @@ func newCacheStore(m *cacheManagerMetrics, dir string, cacheSize int64, pendingP opTs: make(map[time.Duration]func() error), } c.stateLock = sync.Mutex{} - c.state = newDCState(dcNormal, c) + if config.Writeback { + c.state = newDCState(dcUnchanged, c) + } else { + c.state = newDCState(dcNormal, c) + } c.createDir(c.dir) br, fr := c.curFreeRatio() diff --git a/pkg/chunk/disk_cache_state.go b/pkg/chunk/disk_cache_state.go index d956c374a007..719647d01d3c 100644 --- a/pkg/chunk/disk_cache_state.go +++ b/pkg/chunk/disk_cache_state.go @@ -46,10 +46,11 @@ var ( ) var diskStateNames = map[int]string{ - dcUnknown: "unknown", - dcNormal: "normal", - dcUnstable: "unstable", - dcDown: "down", + dcUnknown: "unknown", + dcNormal: "normal", + dcUnstable: "unstable", + dcDown: "down", + dcUnchanged: "unchanged", } const ( @@ -57,6 +58,7 @@ const ( dcNormal dcUnstable dcDown + dcUnchanged ) const ( @@ -93,6 +95,8 @@ func newDCState(state int, cs *cacheStore) dcState { s = &unstableDC{} case dcDown: s = &downDC{} + case dcUnchanged: + s = &unchangedDC{} } s.init(cs) s.tick() @@ -115,6 +119,12 @@ func (dc *baseDC) checkCacheOp() error { return nil } func (dc *baseDC) beforeCacheOp() {} func (dc *baseDC) afterCacheOp() {} +type unchangedDC struct { + baseDC +} + +func (dc *unchangedDC) state() int { return dcUnchanged } + type normalDC struct { baseDC ioErrCnt uint32