Releases: speedb-io/speedb
Speedb 2.8.0 (31-January-2024)
The following release is based on RocksDB 8.6.7
New Features
- Memory Tracking: provides insights about the memory consumption per component. This works in debug mode only. by @ofriedma in #757
Enhancements
- Add JAVA and C Interface for EnableSpeedbFeatures by @udi-speedb in #772
- LOG Enhancement:Have a separate LOG entry per CF Stats by @udi-speedb in #801
- Export GetFlushReasonString/GetCompactionReasonString in listener.h by @git-hulk in #785
Bug Fixes
- stress test: Fixed TestIterateAgainstExpected not supporting 0 iterations by @Yuval-Ariel in #796
- Fixed conflicts between db_bench flags and enable speedb features flag by @ofriedma in #765
- stress test: Disable IsDone assertion which fails with tracing sometimes by @Yuval-Ariel in #816
- Refresh exist iterator isnot supported in hash spdb and vector memtablerep should avoid that (#802) by @ayulas in #811
- 812 stress test error initiateflushesthread assertion fail num running flushes 0 by @udi-speedb in #817
Miscellaneous
- Options: Set compaction_readahead_size default to 0 by @Yuval-Ariel in #792
- Options: Set level_compaction_dynamic_level_bytes as false by default by @Yuval-Ariel in #791
- stress test: Add the ability to trace all operations by @Yuval-Ariel in #797
- zlib: Update ci and Makefile using a different link by @Yuval-Ariel in #820
- Remove some db stress non existence parameters by @ofriedma in #814
- Revert "added exit 0 to the license check" by @Yuval-Ariel in #790
- Compaction: Restore SetupForCompaction functionality by @Yuval-Ariel in #788
- Add more checks for db_stress enable speedb features by @ofriedma in #803
Known Issue
- With this release, user-defined timestamps are not supported.
Full Changelog: https://github.com/speedb-io/speedb/commits/speedb/v2.8.0
Speedb 2.7.0 (25-October-2023)
The following release is based on RocksDB 8.1.1
New Features
- Support Non-Blocking Manual Compactions (CompactRange) (#597) by @udi-speedb in #656
Enhancements
- Logger: Add reporting capabilities to the WBM by @Yuval-Ariel in #556
- Report static pinning options to the log (#691) by @udi-speedb in #707
- Add the offset and size to the dump SST footer details by @git-hulk in #679
- 653: Support hash spdb as part of enable Speedb features by @ayulas in #655
- Enable-Speedb-Feature: Use Scoped Pinning Policy instead of Default Policy by @udi-speedb in #715
Note: We recommend only using Enable-Speedb-feature in POC with this release, since the configuration set by Enable-Speedb-feature might not be saved after recovery. - Make a static pinning decision based on the last level with data (not bottommost level) (#626) by @udi-speedb in #684
- db bench: usability of the pinning policy parameter by @udi-speedb in #720
- Static Pinning: Set the default for last-level-with-data to 70 by @udi-speedb in #727
Bug Fixes
- Fixed repeatable threads not working with on thread start feature by @ofriedma in #667
- Fixed a JAVA build issue introduced by #597 (#680) by @udi-speedb in #681
- db_bench: Fixed a conflict between the enable_speedb_features and pinning_policy flags by @udi-speedb in #730
Miscellaneous
- db_bench: fix SeekRandomWriteRandom valid check by @Yuval-Ariel in #652
- Fixed unused variable warnings in db_bench_tool.cc by @git-hulk in #671
- Add MacOS support for thread affinity tests by @ofriedma in #661
- Fixed some build issues by @mrambacher in #664
- Fixed build errors by @ofriedma in #717
- Fixed Java Samples by @mrambacher in #721
- Add support for ASAN builds on Mac by @mrambacher in #608.
- Fixed a compilation error in scoped_pinning_policy.cc by @udi-speedb in #725
- Change Configurable::SerializeOptions method to return a map by @mrambacher in #619
Thanks to the new contributor! 💙
Full Changelog: speedb/v2.6.0...speedb/v2.7.0
Speedb 2.6.0 (22-August-2023)
The following release is based on RocksDB 8.1.1
New Features
-
Introduce a TablePinningPolicy to control how and when memory is pinned by @mrambacher in #459
-
Added Speedb tuning function that optimizes configuration for single and multi databases by @RoyBenMoshe in #543
-
Support Speedb sorted hash memtable in Java and C by @ayulas in #612
Miscellaneous
- Redo of Index/Filter/Data blocks sizes in Block (LRU) Block Cache per CF after rebase on RocksDB 8.1 (#516) by @udi-speedb in #620
- Move to zlib 1.3 (Makefile) by @ayulas in #646
- 639: move hashSpdb memtable from plugin to main code by @ayulas in #640
Bug Fixes
- WriteController: move it to public interface by @Yuval-Ariel in #579
- Fixed log trace of Block Cache (Entry) Stats dump (#577) by @udi-speedb in #578
- Added consideration to flushes that were not initiated by the write buffer manager by @udi-speedb in #632
- 606 stuck switch with plug by @ayulas in #610
- 570 spdb memtable use seek paralel threshold mishandled by @ayulas in #603
Full Changelog: speedb/v2.5.0...speedb/v2.6.0
Speedb 2.5.0 (14-June-2023)
The following release is based on RocksDB 8.1.1
New Features
- Dirty memory: connect wbm to global delay : Delay writes gradually based on memory usage of the WriteBufferManager (WBM) in order to gain stability. To use this feature, pass allow_stall = true to the ctor of WBM and the db needs to be opened with options.use_dynamic_delay = true. by @Yuval-Ariel in #423
- Prevent flush entry followed delete operations currently during memtable flush , if the key has a match key in the delete range table and this record has no snapshot related to it, we still write it with its value to the SST file. This feature keeps only the delete record and reduces SST size for later compaction. by @ayulas in #418 (#411)
Enhancements
- Log: Add the CF name and job ID to all compaction job traces by @udi-speedb in #511
- Log: Display cf names in rolled logs with their options by @udi-speedb in #518
- Log: Report the name of cf-s whose options are skipped in the log by @udi-speedb in #520
- db_stress: Add cost_write_buffer_to_cache flag by @udi-speedb in #513
Bug Fixes
- Fixed sorted hash memtable use after free bug by @ayulas in #553 #501
- Sanitize max_num_parallel_flushes in WBM if 0 by @udi-speedb in #515
- WriteController: fix for stop while shutting down. Also switch to waiting a sec on the CV each time. This is required since a bg error * doesn't signal the CV in the WriteController. by @Yuval-Ariel in #499
- Fixed UnlockWALStallCleared test in utilities/transactions/transaction_test.cc by @Yuval-Ariel in #514
- Always assume optimize_filters_for_memory=false when creating a paired bloom filter by @udi-speedb in #528
- db_bench and stress: fixed WBM initiation by @udi-speedb in #510
- db_bench: Create a WBM once for all db-s regardless of their use in different groups by @udi-speedb in #551
- Fixed Tombstone test failure as a result of not clear local variable by @ayulas in #561
- Makefile: Remove pycache artifacts after running gtest-parallel #495
- AVX512: fix disabling other optimizations by @Yuval-Ariel in #489 #489
Miscellaneous
- Print optimize_filters_for_memory option to the log by @udi-speedb in #537
Full Changelog: https://github.com/speedb-io/speedb/commits/speedb/v2.5.0
Speedb 2.4.1 (19-April-2023)
The following release is based on RocksDB 7.7.8
Enhancement
- Add the ability to create any Filter Policy in java (including ribbon filter and the Speedb paired bloom filter) by @mrambacher in #387
Bug Fix
- Write Flow: Reduce debug log size. Note: the write flow is still experimental in this release (#461) by @ayulas in #472
Full Changelog: speedb/v2.4.0...speedb/v2.4.1
Speedb v2.4.0 (5-April-2023)
New Features
- New beezcli: Interactive CLI that offers data access and admin commands by @ofriedma in #427
- Global delayed write rate: manage the delayed write rate across multiple CFs/databases by @Yuval-Ariel in #392
- New write flow: Major improvement of writing while reading. Note: This feature is experimental and it consumes slightly more memory in this release by @ayulas in #445
Enhancements
Bug Fixes
- Dynamic delay writes: fix pending bytes rate calculation by @Yuval-Ariel in #451
- Global delay write: check again credits under mutex by @Yuval-Ariel in #438
Miscellaneous
- Add back accidental revert in DropRandomUnsyncedData by @mrambacher in #402
- Add speedb licenses to code by @ofriedma in #409
- Enforce writing licenses inside a source file by @ofriedma in #410
- Makefile: Use speedb libs in
build_size
target by @AmnonHanuhov in #399 - Replace uint with unsinged int (Windows Build Failure) (#420) by @udi-speedb in #421
- crashtest: dont reroll skip_list or HashSpdRepFactory by @Yuval-Ariel in #452
- options: Forward declare WriteBufferManager by @AmnonHanuhov in #433
New Contributors
Full Changelog: speedb/v2.3.0...speedb/v2.4.0
Speedb v2.3.0 (15-Feb-2023)
The following release is based on RocksDB 7.7.8
New Features
- New Live configuration changes: support changing immutable options on the fly by @mrambacher in #294
Enhancements
- Improved performance while using the sorted-hash memtable (#298) by @ayulas in #299
- Added prints and query option of Index size per CF - LRU Cache Only (#338) by @udi-speedb in #368
- Add F_BARRIERFSYNC for Sync operations on MacOS (addresses the issue raised in rocksdb#11035) by @mrambacher in #319
- Paired-Bloom-Filter: Balancing rounding to batches between the bottom-most level and other levels by @noamhaham in #371
- db_bench: recreate only specified DBs in a group of benchmarks by @andy-byers in #370
- Use a NoSyncFileSystem to skip Sync/FSync to reduce test times ( based on RocksDB PR 9545) by @mrambacher in #380
Bug Fixes
- Delayed Writes: fix L0 calc bug by @Yuval-Ariel in #311
- util: Fixed compilation failure on Fedora 35 with gcc 11.2.1 and gflag 2.2.2 by @AmnonHanuhov in #396
- Fixed compilation failure on windows by @ayulas in #384
- Fixed compilation issues on Mac by @mrambacher in #393
- Use the Test Name for the dbname when running unit tests by @mrambacher in #353
Miscellaneous
- add Speedb is awesome example to the getting started section by @RoyBenMoshe in #382
- unit tests: fix CompactionServiceTest.RemoteEventListener (#314) by @Yuval-Ariel in #354
- artifacts check tool - readme file was updated by @RoyBenMoshe in #293
- don't use AVX512 with asan by @Yuval-Ariel in #398
Thanks to the new contributors! 💙
- @andy-byers made their first contribution in #370
- @noamhaham made their first contribution in #371
Full Changelog: speedb/v2.2.0...speedb/v2.3.0
Speedb v2.2.1 (30-Jan-2023)
The following release is rebased on RocksDB 7.7.8
Bug Fixes:
- Delayed Writes: fixed L0 calculation bug by @Yuval-Ariel in #311
Miscellaneous
- Added WBM's cache info to the log (#312) by @udi-speedb in #313
- db_bench: set db_bench defaults to Speedb (#61) by @Yuval-Ariel in #322
- build: remove the dependency on GNU Parallel for running unit tests by @AmnonHanuhov in #243
Full Changelog: speedb/v2.2.0...speedb/v2.2.1
Speedb v2.2.0 (22-Dec-2022)
The following release is rebased on RocksDB 7.7.3
New Features
- Proactive flushes for better resources utilization by @udi-speedb #185
- Dynamic delayed write mechanism for consistent performance by @Yuval-Ariel in #281
Enhancements
- Paired block bloom: Removed the bits-per-key limitation for better results by @udi-speedb in #163
- Allow running multiple benchmark, each with its own configuration by @udi-speedb in #250
- db_bench: Support '--groups' in addition to '-groups' (#283) by @udi-speedb in #295
- db_stress enhancement: Support control over WBM's allow_stall by @udi-speedb in #289
- Shorten latency while switch generic memtable by @ayulas in #297
Bug Fixes
- db_bench: bug fix inserted in #200 (#263) by @Yuval-Ariel in #265
- db_bench: ErrorExit from static func bug (#277) by @Yuval-Ariel in #278
- Proactive Flushes: compilation warnings fix (#304) by @Yuval-Ariel in #307
Miscellaneous
- Added info to the log file for artifact testing by @RoyBenMoshe in #286
- Disable LoadCustomizableTest.LoadMemTableRepFactoryTest (#303) by @ayulas in #305
Full Changelog: https://github.com/speedb-io/speedb/commits/speedb/v2.2.0
Speedb 2.1.1 (15-Nov-2022)
Bug Fixes
- Shorten latency while switch memtable (#14)
- Fixed a crash that occurred when using the hash memtable. (#98)
- memtable_list: avoid rolling back memtable flush on CF drop (#144)
- crashtest: fix 0 value of data_block_hash_table_util_ratio (#214)
- deletefile_test: fix breakage caused by the compaction threads change (#218)
- cmake: clean up on successful runs and randomise test scheduling (#202)
- build: add a version build-tag for non-release builds (#156)
- build: support ccache and sccache in the Makefile build (#170)
- Update README.md
- docs: fix instructions for building Speedb in README.md and INSTALL.md
- readme typo fix by @azmisaquib (#223)
- build_version: apply the build tag to the Speedb version string (#231)
- build: correctly handle merge commits when calculating a build tag (#207)
- db_test2: fix BackgroundPurgeTest (#236)
- Update HISTORY.md (#239)
- db_bench: Fix a bug when destructing a Benchmark with multiple db-s (#234)
- db_bench: add benchmark - seektodeletedranges (#201)
Thanks to the new contributor! 💙
- @azmisaquib made their first contribution in #223
Full Changelog: https://github.com/speedb-io/speedb/compare/speedb/v2.1.1