Skip to content

Commit 38ef435

Browse files
committed
Add rocksdb config parameters to core.yaml [FAB-349]
Change-Id: I93ac3badea5ff6a3abf4c32af26468f6006f70cc Signed-off-by: Gabor Hosszu <[email protected]>
1 parent f28d3d6 commit 38ef435

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

core/db/db.go

+26
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ import (
2929
)
3030

3131
var dbLogger = logging.MustGetLogger("db")
32+
var rocksDBLogLevelMap = map[string]gorocksdb.InfoLogLevel{
33+
"debug": gorocksdb.DebugInfoLogLevel,
34+
"info": gorocksdb.InfoInfoLogLevel,
35+
"warn": gorocksdb.WarnInfoLogLevel,
36+
"error": gorocksdb.ErrorInfoLogLevel,
37+
"fatal": gorocksdb.FatalInfoLogLevel}
3238

3339
const blockchainCF = "blockchainCF"
3440
const stateCF = "stateCF"
@@ -159,6 +165,26 @@ func (openchainDB *OpenchainDB) open() {
159165
opts := gorocksdb.NewDefaultOptions()
160166
defer opts.Destroy()
161167

168+
maxLogFileSize := viper.GetInt("peer.db.maxLogFileSize")
169+
if maxLogFileSize > 0 {
170+
dbLogger.Infof("Setting rocksdb maxLogFileSize to %d", maxLogFileSize)
171+
opts.SetMaxLogFileSize(maxLogFileSize)
172+
}
173+
174+
keepLogFileNum := viper.GetInt("peer.db.keepLogFileNum")
175+
if keepLogFileNum > 0 {
176+
dbLogger.Infof("Setting rocksdb keepLogFileNum to %d", keepLogFileNum)
177+
opts.SetKeepLogFileNum(keepLogFileNum)
178+
}
179+
180+
logLevelStr := viper.GetString("peer.db.loglevel")
181+
logLevel, ok := rocksDBLogLevelMap[logLevelStr]
182+
183+
if ok {
184+
dbLogger.Infof("Setting rocks db InfoLogLevel to %d", logLevel)
185+
opts.SetInfoLogLevel(logLevel)
186+
}
187+
162188
opts.SetCreateIfMissing(missing)
163189
opts.SetCreateIfMissingColumnFamilies(true)
164190

peer/core.yaml

+5-1
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,11 @@ peer:
213213

214214
# Path on the file system where peer will store data
215215
fileSystemPath: /var/hyperledger/production
216-
216+
# rocksdb configurations
217+
db:
218+
maxLogFileSize: 10485760
219+
keepLogFileNum: 10
220+
logLevel: "warn"
217221

218222
profile:
219223
enabled: false

0 commit comments

Comments
 (0)