Skip to content

BadgerDB v3.2011.0

Compare
Choose a tag to compare
@aman-bansal aman-bansal released this 15 Jan 11:01
· 11 commits to release/v3.2011 since this release
a86c770

This release is not backward compatible with Badger v2.x.x

Breaking:

  • opt(compactions): Improve compaction performance (#1574)
  • Change how Badger handles WAL (#1555)
  • feat(index): Use flatbuffers instead of protobuf (#1546)

Fixed:

  • Fix(GC): Set bits correctly for moved keys (#1619)
  • Fix(tableBuilding): reduce scope of valuePointer (#1617)
  • Fix(compaction): fix table size estimation on compaction (#1613)
  • Fix(OOM): Reuse pb.KVs in Stream (#1609)
  • Fix race condition in L0StallMs variable (#1605)
  • Fix(stream): Stop produceKVs on error (#1604)
  • Fix(skiplist): Remove z.Buffer from skiplist (#1600)
  • Fix(readonly): fix the file opening mode (#1592)
  • Fix: Disable CompactL0OnClose by default (#1586)
  • Fix(compaction): Don't drop data when split overlaps with top tables (#1587)
  • Fix(subcompaction): Close builder before throttle.Done (#1582)
  • Fix(table): Add onDisk size (#1569)
  • Fix(Stream): Only send done markers if told to do so
  • Fix(value log GC): Fix a bug which caused value log files to not be GCed.
  • Fix segmentation fault when cache sizes are small. (#1552)
  • Fix(builder): Too many small tables when compression is enabled (#1549)
  • Fix integer overflow error when building for 386 (#1541)
  • Fix(writeBatch): Avoid deadlock in commit callback (#1529)
  • Fix(db): Handle nil logger (#1534)
  • Fix(maxVersion): Use choosekey instead of KeyToList (#1532)
  • Fix(Backup/Restore): Keep all versions (#1462)
  • Fix(build): Fix nocgo builds. (#1493)
  • Fix(cleanup): Avoid truncating in value.Open on error (#1465)
  • Fix(compaction): Don't use cache for table compaction (#1467)
  • Fix(compaction): Use separate compactors for L0, L1 (#1466)
  • Fix(options): Do not implicitly enable cache (#1458)
  • Fix(cleanup): Do not close cache before compaction (#1464)
  • Fix(replay): Update head for LSM entires also (#1456)
  • fix(levels): Cleanup builder resources on building an empty table (#1414)

Performance

  • perf(GC): Remove move keys (#1539)
  • Keep the cheaper parts of the index within table struct. (#1608)
  • Opt(stream): Use z.Buffer to stream data (#1606)
  • opt(builder): Use z.Allocator for building tables (#1576)
  • opt(memory): Use z.Calloc for allocating KVList (#1563)
  • opt: Small memory usage optimizations (#1562)
  • KeySplits checks tables and memtables when number of splits is small. (#1544)
  • perf: Reduce memory usage by better struct packing (#1528)
  • perf(tableIterator): Don't do next on NewIterator (#1512)
  • Improvements: Manual Memory allocation via Calloc (#1459)
  • Various bug fixes: Break up list and run DropAll func (#1439)
  • Add a limit to the size of the batches sent over a stream. (#1412)
  • Commit does not panic after Finish, instead returns an error (#1396)
  • levels: Compaction incorrectly drops some delete markers (#1422)
  • Remove vlog file if bootstrap, syncDir or mmap fails (#1434)

Features:

  • Use opencensus for tracing (#1566)
  • Export functions from Key Registry (#1561)
  • Allow sizes of block and index caches to be updated. (#1551)
  • Add metric for number of tables being compacted (#1554)
  • feat(info): Show index and bloom filter size (#1543)
  • feat(db): Add db.MaxVersion API (#1526)
  • Expose DB options in Badger. (#1521)
  • Feature: Add a Calloc based Buffer (#1471)
  • Add command to stream contents of DB into another DB. (#1463)
  • Expose NumAlloc metrics via expvar (#1470)
  • Support fully disabling the bloom filter (#1319)
  • Add --enc-key flag in badger info tool (#1441)

New APIs

  • Badger.DB
  • Badger.Options
    • WithBaseLevelSize (#1574)
    • WithBaseTableSize (#1574)
    • WithMemTableSize (#1574)
  • Badger.KeyRegistry

Removed APIs

  • Badger.Options
    • WithKeepL0InMemory (#1555)
    • WithLevelOneSize (#1574)
    • WithLoadBloomsOnOpen (#1555)
    • WithLogRotatesToFlush (#1574)
    • WithMaxTableSize (#1574)
    • WithTableLoadingMode (#1555)
    • WithTruncate (#1555)
    • WithValueLogLoadingMode (#1555)