github apache/kvrocks v2.13.0
2.13.0

one month ago

Highlights

This new release introduces significant features, improvements, and fixes.
A critical fix is that the server will crash when using ZRANDMEMBER for non-existent keys, please see #2982.

We introduce a few new commands and enhance some old commands, including:

  • CLIENT REPLY to allow clients to control server reply behavior
  • KPROFILE to enable/disable/dump the memory profiling
  • FLUSHMEMTABLE to flush memtables
  • FLUSHBLOCKCACHE to explicitly release the block cache

Another highlight is that the community is working to support the TDIGEST data structure, but we don't bring it to this release for stable consideration.

New Features

  • feat(cmds): Add support for CLIENT REPLY subcommand and related tests by @DCjanus in #2943
  • feat(tdigest): Add support for QUANTILE command by @SharonIV0x86 in #2849
  • feat(command): add a new command to enable/disable/dump the memory profiling by @git-hulk in #3007
  • feat(command): Add redis command to flush memtables by @Ryan4253 in #3022
  • feat(command): add new command to release block cache by @sryanyuan in #3049

Improvements

Bug Fixes

  • fix(protocol): inline mode should allow the quoted string by @git-hulk in #2873
  • fix: typo in compaction checker by @geonove in #2879
  • fix(tdigest): fix centroid encoding overwrite for same mean by @LindaSummer in #2878
  • feat(storage): support for sideloading SSTs by @ltagliamonte-dd in #2845
  • fix(stream): should return an empty string instead of nil in XREAD/XRANGE by @git-hulk in #2897
  • feat(script): pass storage context through scripting by @PragmaTwice in #2901
  • fix(core): potential data race between blocking command and transaction by @git-hulk in #2910
  • fix(zset): wrong RESP reply in ZRANDMEMBER and ZMSCORE command by @weim0000 in #2937
  • fix(zset): crash in ZRANDMEMBER for non-existent keys by @weim0000 in #2982
  • fix(zset): wrong RESP reply in ZMSCORE command for non-existent key by @weim0000 in #2983
  • fix(list): dst-key's version is 0 in rpoplpush cmd for non-existent dst-key by @weim0000 in #2985
  • fix(stream): ensure XINFO STREAM command has enough arguments by @rmsacks in #2994
  • fix(search): missing the indexing phase for scripting by @PragmaTwice in #2998
  • fix(txn): wrong RESP reply for EXEC if error occurred in commit by @PragmaTwice in #2996
  • fix(event): should log reason string instead of id in EventListener::OnFlushCompleted by @Ryan4253 in #3012
  • fix(storage): don't try to commit empty write batches by @nathanlo-hrt in #3015
  • fix: Unset change_level if level_compaction_dynamic_level_bytes is enabled by @hotpxl in #3020
  • fix(core): remove extraneous RocksDB::CancelAllBackgroundWork calls (#3017) by @Ryan4253 in #3019
  • fix(core): Avoid hardcoding RocksDB property strings by @Ryan4253 in #3029
  • fix(config): Parse rocksdb.max_bytes_for_level_base as uint64_t by @Ryan4253 in #3032
  • fix(config): Setting rocksdb.level0_slowdown_writes_trigger to 0 disables it by @Ryan4253 in #3034
  • fix(config): the default log-dir should include stdout by @PragmaTwice in #3085

Misc

New Contributors

Full Changelog: v2.12.1...v2.13.0-rc1

Don't miss a new kvrocks release

NewReleases is sending notifications on new releases.