From d2f119cf9b30a7568b5ebe7c290c3be30dc0f2de Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Thu, 14 May 2015 15:01:13 +0200 Subject: [PATCH] p2p/discover: limit open files for node database --- p2p/discover/database.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/p2p/discover/database.go b/p2p/discover/database.go index dc0b97ddf..2b9da0423 100644 --- a/p2p/discover/database.go +++ b/p2p/discover/database.go @@ -17,6 +17,7 @@ import ( "github.com/syndtr/goleveldb/leveldb" "github.com/syndtr/goleveldb/leveldb/errors" "github.com/syndtr/goleveldb/leveldb/iterator" + "github.com/syndtr/goleveldb/leveldb/opt" "github.com/syndtr/goleveldb/leveldb/storage" "github.com/syndtr/goleveldb/leveldb/util" ) @@ -72,8 +73,8 @@ func newMemoryNodeDB() (*nodeDB, error) { // newPersistentNodeDB creates/opens a leveldb backed persistent node database, // also flushing its contents in case of a version mismatch. func newPersistentNodeDB(path string, version int) (*nodeDB, error) { - // Try to open the cache, recovering any corruption - db, err := leveldb.OpenFile(path, nil) + opts := &opt.Options{OpenFilesCacheCapacity: 5} + db, err := leveldb.OpenFile(path, opts) if _, iscorrupted := err.(*errors.ErrCorrupted); iscorrupted { db, err = leveldb.RecoverFile(path, nil) }