Skip to content

Commit

Permalink
feat(rocksdb): configure rocksdb options
Browse files Browse the repository at this point in the history
  • Loading branch information
moreal committed Nov 3, 2020
1 parent 8d21c1c commit b573215
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion Libplanet.RocksDBStore/RocksDBStore.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,17 @@ private readonly Dictionary<Guid, LruCache<string, Tuple<HashDigest<SHA256>, lon
/// <param name="blockCacheSize">The capacity of the block cache.</param>
/// <param name="txCacheSize">The capacity of the transaction cache.</param>
/// <param name="statesCacheSize">The capacity of the states cache.</param>
/// <param name="maxTotalWalSize">The number to configure max_total_wal_size RocksDB option.
/// </param>
/// <param name="keepLogFileNum">The number to configure keep_log_file_num RocksDB option.
/// </param>
public RocksDBStore(
string path,
int blockCacheSize = 512,
int txCacheSize = 1024,
int statesCacheSize = 10000
int statesCacheSize = 10000,
ulong? maxTotalWalSize = null,
ulong? keepLogFileNum = null
)
{
_logger = Log.ForContext<RocksDBStore>();
Expand Down Expand Up @@ -102,6 +108,16 @@ public RocksDBStore(
_options = new DbOptions()
.SetCreateIfMissing();

if (maxTotalWalSize is ulong maxTotalWalSizeValue)
{
_options = _options.SetMaxTotalWalSize(maxTotalWalSizeValue);
}

if (keepLogFileNum is ulong keepLogFileNumValue)
{
_options = _options.SetKeepLogFileNum(keepLogFileNumValue);
}

_blockDb = RocksDBUtils.OpenRocksDb(_options, RocksDbPath(BlockDbName));
_txDb = RocksDBUtils.OpenRocksDb(_options, RocksDbPath(TxDbName));
_stateDb = RocksDBUtils.OpenRocksDb(_options, RocksDbPath(StateDbName));
Expand Down

0 comments on commit b573215

Please sign in to comment.