description |
---|
This page summarize information about the Speedb releases. |
Find out what's new in Speedb!
This page summarize information about new features, bugs fixes and enhancements per release.
v2.5.0
Release date: 14-June-2023 | Based on RocksDB 8.1.1
- 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)
- 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
- 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
- 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
v2.4.1
Release date: 19-April-2023 | Based on RocksDB 7.7.8
- Add the ability to create any Filter Policy in java (including ribbon filter and the Speedb paired bloom filter) #387
- Write Flow: Reduce debug log size. Note: the write flow is still experimental in this release #472
v2.4.0
Release date: 5-April-2023 | Based on RocksDB 7.7.8
- New beezcli: Interactive CLI that offers data access and admin commands #427
- Global delayed write rate: manage the delayed write rate across multiple CFs/databases #392
- New write flow: Major improvement of writing while reading. Note: This feature is experimental and it consumes slightly more memory in this release #445
- Skip expired object while using DBWithTtl #403
- Dynamic delay writes: fix pending bytes rate calculation #451
- Global delay write: check again credits under mutex #438
- Add back accidental revert in DropRandomUnsyncedData #402
- Add speedb licenses to code #409
- Enforce writing licenses inside a source file #410
- Makefile: Use speedb libs in
build_size
target #399 - Replace uint with unsinged int (Windows Build Failure) #421
- crashtest: dont reroll skip_list or HashSpdRepFactory #452
- options: Forward declare WriteBufferManager #433
v2.3.0
Release date: 15-February-2023 | Based on RocksDB 7.7.8
- New Live configuration changes: support changing immutable options on the fly #294
- Improved performance while using the sorted-hash memtable #299
- Added prints and query option of Index size per CF - LRU Cache Only #368
- Add F_BARRIERFSYNC for Sync operations on MacOS (addresses the issue raised in rocksdb#11035) #319
- Paired-Bloom-Filter: Balancing rounding to batches between the bottom-most level and other levels #371
- db_bench: recreate only specified DBs in a group of benchmarks #370
- Use a NoSyncFileSystem to skip Sync/FSync to reduce test times ( based on RocksDB PR 9545) #380
v2.2.1
Release date: 30-January-2023 | Based on RocksDB 7.7.8
- Delayed Writes: fixed L0 calculation bug #311
v2.2.0
Release date: 22-December-2022 | Based on RocksDB 7.7.3
- Proactive flushes for better resources utilization #185
- Dynamic delayed write mechanism for consistent performance #2
- Paired block bloom: Removed the bits-per-key limitation for better results #163
- DB-bench groups support: Allow running multiple benchmark, each with its own configuration #250
- db_bench: Support '--groups' in addition to '-groups' #295
- db_stress enhancement: Support control over WBM's allow_stall #289
- Shorten latency while switch generic memtable #297
v2.1.1
Release date: 15-November-2022 | Based on RocksDB 7.2.2
- 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)
v2.1.0
Release date: 26-October-2022 | Based on RocksDB 7.2.2
- Added new Paired bloom filter that reduces false positive rate with the same performance and memory. In some configurations, the memory consumption is even reduced by up to 30%.
Note: Paired bloom filter is recommended to use when the number of bits per key is larger than 10. (#54) - Added Plugin Tests to builds (#143)
- The default value for the number of compaction threads has changed to 8 (#194)
- An infrastructure addition for a future feature: added API to retrieve the amount of immutable memory that can be freed. (#113)
- cmake: allow running the tests in parallel like in the Makefile (#103)
- build: fix the java test target dependencies (#129)
- flush_job: do not roll back memtable flush on CF drop and DB shutdown (#127)
- When background purges are used, set their priority to low instead of high, (#151)
- Added db_bench option to change the parameter: avoid_unnecessary_blocking_io (#184)
- Allow construction of Filter Policy from uri to the tools (#83)
v2.0.0
Release date: 04-August-2022 | Based on RocksDB 7.2.2
- Added a new hash based memtable that supports concurrent reads and writes
- Added ability to create MemTableFactory from URI/string to tools
- Avoid comparing Status using == as it compares only status codes. The comparison breaks when comparing against status::NoSpace() since it has a status code of
Code::kIOError
and only a subcode ofSubCode::kNoSpace
- Fixed snapshots leak in optimistic_transaction_example: whenever the example is run under ASan, snapshots are acquired but not released, resulting in a memory leak error.
- ldb: fix get to print the entire value
- db_bench: fix Rocksdb bug of last_ref assertion. Test fails to delete multi-dbs correctly.
- db_bench: fix SeekRandom and ReadRandomWriteRandom to work on all CFs instead of the default
- db_bench to report accurate response time when using rate limit
- db_test: add test for - forward the incomplete status on no_io (facebook/rocksdb#8485)
- CMake: use the old plugin infra and add support for *_FUNC registration
- LOG: Print write_buffer_manager size to LOG
- LOG: change log header to SpeeDB
- LOG & db_bench: metadata_cache_options - print to LOG and support its configuration in db_bench
- db_impl: use unique_ptr in DBImpl::Open for nicer memory management
- Explicitly compare the SuperVersion pointer in column_family
- Rename rocksdb threads to speedb
- Add a version number to Speedb builds
- Clang-Format: Do not include third-party code as any changes are either version updates or fixes.
- Git: add clangd cache to .gitignore