From b3e64112cd8c259cdf43d8bd81e5a5ab2f1bccdb Mon Sep 17 00:00:00 2001 From: linyuanjin Date: Mon, 8 Jul 2019 11:43:47 +0800 Subject: [PATCH 1/2] correct SetWALRecoveryMode documentation --- db.go | 2 +- options.go | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/db.go b/db.go index 3b33cd7a..72652e28 100755 --- a/db.go +++ b/db.go @@ -780,7 +780,7 @@ func (db *DB) DeleteFile(name string) { C.rocksdb_delete_file(db.c, cName) } -// DeleteFileInRange deletes SST files that contain keys between the Range, [r.Start, limitKey] +// DeleteFileInRange deletes SST files that contain keys between the Range, [r.Start, r.Limit] func (db *DB) DeleteFileInRange(r Range) error { cStartKey := byteToChar(r.Start) cLimitKey := byteToChar(r.Limit) diff --git a/options.go b/options.go index af9154f6..fb846d3b 100644 --- a/options.go +++ b/options.go @@ -63,10 +63,10 @@ const ( type WALRecoveryMode int const ( - TolerateCorruptedTailRecordsRecovery = 0 - AbsoluteConsistencyRecovery = 1 - PointInTimeRecovery = 2 - SkipAnyCorruptedRecordsRecovery = 3 + TolerateCorruptedTailRecordsRecovery = WALRecoveryMode(0) + AbsoluteConsistencyRecovery = WALRecoveryMode(1) + PointInTimeRecovery = WALRecoveryMode(2) + SkipAnyCorruptedRecordsRecovery = WALRecoveryMode(3) ) // Options represent all of the available options when opening a database with Open. @@ -813,7 +813,7 @@ func (opts *Options) SetDisableAutoCompactions(value bool) { // SetWALRecoveryMode sets the recovery mode // // Recovery mode to control the consistency while replaying WAL -// Default: PointInTimeRecovery +// Default: TolerateCorruptedTailRecordsRecovery func (opts *Options) SetWALRecoveryMode(mode WALRecoveryMode) { C.rocksdb_options_set_wal_recovery_mode(opts.c, C.int(mode)) } From f6e26c0303067d12afda7cc896adbbb15bc98e3c Mon Sep 17 00:00:00 2001 From: linyuanjin Date: Mon, 8 Jul 2019 11:54:04 +0800 Subject: [PATCH 2/2] improve documentation of WALIterator --- wal_iterator.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/wal_iterator.go b/wal_iterator.go index 2415f6b1..c836eab9 100755 --- a/wal_iterator.go +++ b/wal_iterator.go @@ -39,6 +39,9 @@ func (iter *WalIterator) Destroy() { iter.c = nil } +// C.rocksdb_wal_iter_get_batch in the official rocksdb c wrapper has memory leak +// see https://github.com/facebook/rocksdb/pull/5515 +// https://github.com/facebook/rocksdb/issues/5536 func (iter *WalIterator) GetBatch() (*WriteBatch, uint64) { var cSeq C.uint64_t cB := C.rocksdb_wal_iter_get_batch(iter.c, &cSeq)