From d415f1ba5339bf12d61fd61a273ffc5e59b6ad53 Mon Sep 17 00:00:00 2001 From: Suryandaru Triandana Date: Sat, 15 Aug 2020 17:01:42 +0700 Subject: [PATCH] opt: fix 'cacher' options fixes #286 --- leveldb/opt/options.go | 9 +-------- leveldb/table.go | 2 +- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/leveldb/opt/options.go b/leveldb/opt/options.go index ab400a7d..07d1bb8c 100644 --- a/leveldb/opt/options.go +++ b/leveldb/opt/options.go @@ -53,14 +53,12 @@ type CacherFunc struct { } func (f *CacherFunc) New(capacity int) cache.Cacher { - if f.NewFunc != nil { + if f != nil && f.NewFunc != nil { return f.NewFunc(capacity) } return nil } -func noCacher(int) cache.Cacher { return nil } - var ( // LRUCacher is the LRU-cache algorithm. LRUCacher = &CacherFunc{cache.NewLRU} @@ -390,8 +388,6 @@ func (o *Options) GetAltFilters() []filter.Filter { func (o *Options) GetBlockCacher() Cacher { if o == nil || o.BlockCacher == nil { return DefaultBlockCacher - } else if o.BlockCacher == NoCacher { - return nil } return o.BlockCacher } @@ -596,9 +592,6 @@ func (o *Options) GetOpenFilesCacher() Cacher { if o == nil || o.OpenFilesCacher == nil { return DefaultOpenFilesCacher } - if o.OpenFilesCacher == NoCacher { - return nil - } return o.OpenFilesCacher } diff --git a/leveldb/table.go b/leveldb/table.go index b7759b2f..884be5d3 100644 --- a/leveldb/table.go +++ b/leveldb/table.go @@ -516,7 +516,7 @@ func newTableOps(s *session) *tOps { bpool *util.BufferPool ) if s.o.GetOpenFilesCacheCapacity() > 0 { - cacher = cache.NewLRU(s.o.GetOpenFilesCacheCapacity()) + cacher = s.o.GetOpenFilesCacher().New(s.o.GetOpenFilesCacheCapacity()) } if !s.o.GetDisableBlockCache() { var bcacher cache.Cacher