Skip to content

Releases: dgraph-io/badger

BadgerDB v2.2007.0

18 Aug 19:19
Compare
Choose a tag to compare

Fixed

  • Add a limit to the size of the batches sent over a stream. (#1412)
  • Fix Sequence generates duplicate values (#1281)
  • Fix race condition in DoesNotHave (#1287)
  • Fail fast if cgo is disabled and compression is ZSTD (#1284)
  • Proto: make badger/v2 compatible with v1 (#1293)
  • Proto: Rename dgraph.badger.v2.pb to badgerpb2 (#1314)
  • Handle duplicates in ManagedWriteBatch (#1315)
  • Ensure bitValuePointer flag is cleared for LSM entry values written to LSM (#1313)
  • DropPrefix: Return error on blocked writes (#1329)
  • Confirm badgerMove entry required before rewrite (#1302)
  • Drop move keys when its key prefix is dropped (#1331)
  • Iterator: Always add key to txn.reads (#1328)
  • Restore: Account for value size as well (#1358)
  • Compaction: Expired keys and delete markers are never purged (#1354)
  • GC: Consider size of value while rewriting (#1357)
  • Force KeepL0InMemory to be true when InMemory is true (#1375)
  • Rework DB.DropPrefix (#1381)
  • Update head while replaying value log (#1372)
  • Avoid panic on multiple closer.Signal calls (#1401)
  • Return error if the vlog writes exceeds more than 4GB (#1400)

Performance

  • Clean up transaction oracle as we go (#1275)
  • Use cache for storing block offsets (#1336)

Features

  • Support disabling conflict detection (#1344)
  • Add leveled logging (#1249)
  • Support entry version in Write batch (#1310)
  • Add Write method to batch write (#1321)
  • Support multiple iterators in read-write transactions (#1286)

New APIs

  • Badger.DB
  • Badger.Option
    • WithDetectConflicts (#1344)
    • WithKeepBlockIndicesInCache (#1336)
    • WithKeepBlocksInCache (#1336)
  • Badger.WriteBatch

Changes to Default Options

  • DefaultOptions: Set KeepL0InMemory to false (#1345)
  • Increase default valueThreshold from 32B to 1KB (#1346)

Deprecated

  • Badger.Option
    • WithEventLogging (#1203)

Reverts

This section lists the changes which were reverted because of non-reproducible crashes.

  • Compress/Encrypt Blocks in the background (#1227)

BadgerDB v20.07.0

11 Aug 07:22
b22eccb
Compare
Choose a tag to compare
BadgerDB v20.07.0 Pre-release
Pre-release

Fixed

  • Add a limit to the size of the batches sent over a stream. (#1412)
  • Fix Sequence generates duplicate values (#1281)
  • Fix race condition in DoesNotHave (#1287)
  • Fail fast if cgo is disabled and compression is ZSTD (#1284)
  • Proto: make badger/v2 compatible with v1 (#1293)
  • Proto: Rename dgraph.badger.v2.pb to badgerpb2 (#1314)
  • Handle duplicates in ManagedWriteBatch (#1315)
  • Ensure bitValuePointer flag is cleared for LSM entry values written to LSM (#1313)
  • DropPrefix: Return error on blocked writes (#1329)
  • Confirm badgerMove entry required before rewrite (#1302)
  • Drop move keys when its key prefix is dropped (#1331)
  • Iterator: Always add key to txn.reads (#1328)
  • Restore: Account for value size as well (#1358)
  • Compaction: Expired keys and delete markers are never purged (#1354)
  • GC: Consider size of value while rewriting (#1357)
  • Force KeepL0InMemory to be true when InMemory is true (#1375)
  • Rework DB.DropPrefix (#1381)
  • Update head while replaying value log (#1372)
  • Avoid panic on multiple closer.Signal calls (#1401)
  • Return error if the vlog writes exceeds more than 4GB (#1400)

Performance

  • Clean up transaction oracle as we go (#1275)
  • Use cache for storing block offsets (#1336)

Features

  • Support disabling conflict detection (#1344)
  • Add leveled logging (#1249)
  • Support entry version in Write batch (#1310)
  • Add Write method to batch write (#1321)
  • Support multiple iterators in read-write transactions (#1286)

New APIs

  • Badger.DB
  • Badger.Option
    • WithDetectConflicts (#1344)
    • WithKeepBlockIndicesInCache (#1336)
    • WithKeepBlocksInCache (#1336)
  • Badger.WriteBatch

Changes to Default Options

  • DefaultOptions: Set KeepL0InMemory to false (#1345)
  • Increase default valueThreshold from 32B to 1KB (#1346)

Deprecated

  • Badger.Option
    • WithEventLogging (#1203)

Reverts

This section lists the changes which were reverted because of non-reproducible crashes.

  • Compress/Encrypt Blocks in the background (#1227)

BadgerDB v20.07.0-rc3

21 Jul 07:21
37ee16d
Compare
Choose a tag to compare
BadgerDB v20.07.0-rc3 Pre-release
Pre-release
Various bug fixes: Break up list and run DropAll func (#1439) (#1440)

* Run the returned func even on error, if the func is not nil.

* Break up keys from a single list output to avoid sending a 
HUGE batch which can exceed Grpc limits.

(cherry picked from commit 1ccf3a875dd704e62dd4141afa3fcc01d79097b5)

Co-authored-by: Manish R Jain <[email protected]>

BadgerDB v20.07.0-rc2

15 Jul 07:31
Compare
Choose a tag to compare
BadgerDB v20.07.0-rc2 Pre-release
Pre-release

Fixed

  • Add a limit to the size of the batches sent over a stream. (#1412)

BadgerDB v20.07.0-rc1

11 Jul 09:09
Compare
Choose a tag to compare
BadgerDB v20.07.0-rc1 Pre-release
Pre-release

Fixed

  • Fix Sequence generates duplicate values (#1281)
  • Fix race condition in DoesNotHave (#1287)
  • Fail fast if cgo is disabled and compression is ZSTD (#1284)
  • Proto: make badger/v2 compatible with v1 (#1293)
  • Proto: Rename dgraph.badger.v2.pb to badgerpb2 (#1314)
  • Handle duplicates in ManagedWriteBatch (#1315)
  • Ensure bitValuePointer flag is cleared for LSM entry values written to LSM (#1313)
  • DropPrefix: Return error on blocked writes (#1329)
  • Confirm badgerMove entry required before rewrite (#1302)
  • Drop move keys when its key prefix is dropped (#1331)
  • Iterator: Always add key to txn.reads (#1328)
  • Restore: Account for value size as well (#1358)
  • Compaction: Expired keys and delete markers are never purged (#1354)
  • GC: Consider size of value while rewriting (#1357)
  • Force KeepL0InMemory to be true when InMemory is true (#1375)
  • Rework DB.DropPrefix (#1381)
  • Update head while replaying value log (#1372)
  • Avoid panic on multiple closer.Signal calls (#1401)
  • Return error if the vlog writes exceeds more than 4GB (#1400)

Performance

  • Clean up transaction oracle as we go (#1275)
  • Use cache for storing block offsets (#1336)

Features

  • Support disabling conflict detection (#1344)
  • Add leveled logging (#1249)
  • Support entry version in Write batch (#1310)
  • Add Write method to batch write (#1321)
  • Support multiple iterators in read-write transactions (#1286)

New APIs

  • Badger.DB
  • Badger.Option
    • WithDetectConflicts (#1344)
    • WithKeepBlockIndicesInCache (#1336)
    • WithKeepBlocksInCache (#1336)
  • Badger.WriteBatch

Changes to Default Options

  • DefaultOptions: Set KeepL0InMemory to false (#1345)
  • Increase default valueThreshold from 32B to 1KB (#1346)

Deprecated

  • Badger.Option
    • WithEventLogging (#1203)

Reverts

This sections lists the changes which were reverted because of non-reproducible crashes.

  • Compress/Encrypt Blocks in the background (#1227)

BadgerDB v2.0.3

27 Mar 17:49
Compare
Choose a tag to compare

Fixed

  • Add support for watching nil prefix in subscribe API (#1246)

Performance

  • Compress/Encrypt Blocks in the background (#1227)
  • Disable cache by default (#1257)

Features

  • Add BypassDirLock option (#1243)
  • Add separate cache for bloomfilters (#1260)

New APIs

  • badger.DB
  • badger.Options
    • WithBypassLockGuard (#1243)
    • WithLoadBloomsOnOpen (#1260)
    • WithMaxBfCacheSize (#1260)

BadgerDB v2.0.3-rc1

26 Mar 17:35
b5dea5b
Compare
Choose a tag to compare
BadgerDB v2.0.3-rc1 Pre-release
Pre-release

Fixed

  • Add support for watching nil prefix in subscribe API (#1246)

Performance

  • Compress/Encrypt Blocks in the background (#1227)
  • Disable cache by default (#1257)

Features

  • Add BypassDirLock option (#1243)
  • Add separate cache for bloomfilters (#1260)

New APIs

  • badger.DB
  • badger.Options
    • WithBypassLockGuard (#1243)
    • WithLoadBloomsOnOpen (#1260)
    • WithMaxBfCacheSize (#1260)

BadgerDB v1.6.1

26 Mar 12:48
Compare
Choose a tag to compare

New APIs

  • Badger.DB
    • NewWriteBatchAt (#948)
  • Badger.Options
    • WithEventLogging (#1035)
    • WithVerifyValueChecksum (#1052)
    • WithBypassLockGuard (#1243)

Features

  • Support checksum verification for values read from vlog (#1052)
  • Add EventLogging option (#1035)
  • Support WriteBatch API in managed mode (#948)
  • Add support for watching nil prefix in Subscribe API (#1246)

Fixed

  • Initialize vlog before starting compactions in db.Open (#1226)
  • Fix int overflow for 32bit (#1216)
  • Remove the 'this entry should've caught' log from value.go (#1170)
  • Fix merge iterator duplicates issue (#1157)
  • Fix segmentation fault in vlog.Read (header.Decode) (#1150)
  • Fix VerifyValueChecksum checks (#1138)
  • Fix windows dataloss issue (#1134)
  • Fix request increment ref bug (#1121)
  • Limit manifest's change set size (#1119)
  • Fix deadlock in discard stats (#1070)
  • Acquire lock before unmapping vlog files (#1050)
  • Set move key's expiresAt for keys with TTL (#1006)
  • Fix deadlock when flushing discard stats. (#976)
  • Fix table.Smallest/Biggest and iterator Prefix bug (#997)
  • Fix boundaries on GC batch size (#987)
  • Lock log file before munmap (#949)
  • VlogSize to store correct directory name to expvar.Map (#956)
  • Fix transaction too big issue in restore (#957)
  • Fix race condition in updateDiscardStats (#973)
  • Cast results of len to uint32 to fix compilation in i386 arch. (#961)
  • Drop discard stats if we can't unmarshal it (#936)
  • Open all vlog files in RDWR mode (#923)
  • Fix race condition in flushDiscardStats function (#921)
  • Ensure rewrite in vlog is within transactional limits (#911)
  • Fix prefix bug in key iterator and allow all versions (#950)
  • Fix discard stats moved by GC bug (#929)

Performance

  • Use fastRand instead of locked-rand in skiplist (#1173)
  • Fix checkOverlap in compaction (#1166)
  • Optimize createTable in stream_writer.go (#1132)
  • Add capacity to slice creation when capacity is known (#1103)
  • Introduce fast merge iterator (#1080)
  • Introduce StreamDone in Stream Writer (#1061)
  • Flush vlog buffer if it grows beyond threshold (#1067)
  • Binary search based table picker (#983)
  • Making the stream writer APIs goroutine-safe (#959)
  • Replace FarmHash with AESHash for Oracle conflicts (#952)
  • Change file picking strategy in compaction (#894)
  • Use trie for prefix matching (#851)
  • Fix busy-wait loop in Watermark (#920)

BadgerDB v1.6.1-rc1

24 Mar 11:42
9e0cfde
Compare
Choose a tag to compare
BadgerDB v1.6.1-rc1 Pre-release
Pre-release

New APIs

  • Badger.DB
    • NewWriteBatchAt (#948)
  • Badger.Options
    • WithEventLogging (#1035)
    • WithVerifyValueChecksum (#1052)
    • WithBypassLockGuard (#1243)

Features

  • Support checksum verification for values read from vlog (#1052)
  • Add EventLogging option (#1035)
  • Support WriteBatch API in managed mode (#948)
  • Add support for watching nil prefix in Subscribe API (#1246)

Fixed

  • Initialize vlog before starting compactions in db.Open (#1226)
  • Fix int overflow for 32bit (#1216)
  • Remove the 'this entry should've caught' log from value.go (#1170)
  • Fix merge iterator duplicates issue (#1157)
  • Fix segmentation fault in vlog.Read (header.Decode) (#1150)
  • Fix VerifyValueChecksum checks (#1138)
  • Fix windows dataloss issue (#1134)
  • Fix request increment ref bug (#1121)
  • Limit manifest's change set size (#1119)
  • Fix deadlock in discard stats (#1070)
  • Acquire lock before unmapping vlog files (#1050)
  • Set move key's expiresAt for keys with TTL (#1006)
  • Fix deadlock when flushing discard stats. (#976)
  • Fix table.Smallest/Biggest and iterator Prefix bug (#997)
  • Fix boundaries on GC batch size (#987)
  • Lock log file before munmap (#949)
  • VlogSize to store correct directory name to expvar.Map (#956)
  • Fix transaction too big issue in restore (#957)
  • Fix race condition in updateDiscardStats (#973)
  • Cast results of len to uint32 to fix compilation in i386 arch. (#961)
  • Drop discard stats if we can't unmarshal it (#936)
  • Open all vlog files in RDWR mode (#923)
  • Fix race condition in flushDiscardStats function (#921)
  • Ensure rewrite in vlog is within transactional limits (#911)
  • Fix prefix bug in key iterator and allow all versions (#950)
  • Fix discard stats moved by GC bug (#929)

Performance

  • Use fastRand instead of locked-rand in skiplist (#1173)
  • Fix checkOverlap in compaction (#1166)
  • Optimize createTable in stream_writer.go (#1132)
  • Add capacity to slice creation when capacity is known (#1103)
  • Introduce fast merge iterator
  • Introduce StreamDone in Stream Writer (#1061)
  • Flush vlog buffer if it grows beyond threshold (#1067)
  • Binary search based table picker (#983)
  • Making the stream writer APIs goroutine-safe (#959)
  • Replace FarmHash with AESHash for Oracle conflicts (#952)
  • Change file picking strategy in compaction (#894)
  • Use trie for prefix matching (#851)
  • Fix busy-wait loop in Watermark (#920)

BadgerDB v2.0.2

02 Mar 18:07
Compare
Choose a tag to compare

Fixed

  • Cast sz to uint32 to fix compilation on 32 bit. (#1175)
  • Fix checkOverlap in compaction. (#1166)
  • Avoid sync in inmemory mode. (#1190)
  • Support disabling the cache completely. (#1185)
  • Add support for caching bloomfilters. (#1204)
  • Fix int overflow for 32bit. (#1216)
  • Remove the 'this entry should've caught' log from value.go. (#1170)
  • Rework concurrency semantics of valueLog.maxFid. (#1187)

Performance

  • Use fastRand instead of locked-rand in skiplist. (#1173)
  • Improve write stalling on level 0 and 1. (#1186)
  • Disable compression and set ZSTD Compression Level to 1. (#1191)