New
v1.34.0 (Use with caution - see known issues in description)
Dragonfly v1.34.0
Known issues
https://github.com/dragonflydb/dragonfly/issues/5899 https://github.com/dragonflydb/dragonfly/issues/5891
Important stability fixes and changes:
- Replication fixes: #5727 #5700
- Geo search fixes: #5714 #5678 #5726 #5734
- SSD tiering improvements: #5802 #5803 #5810
What's Changed
- fix: prevent writeBucket if migration is canceled by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/5676
- chore: group memory prometheous metrics by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/5674
- fix: check snapshot_version in correct place by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/5687
- fix: stack corruption in MultiCommandSquasher by @romange in https://github.com/dragonflydb/dragonfly/pull/5697
- fix: RdbSaver: destroy SliceSnapshot on its shard thread to fix flaky crash on ARM64 with --force_epoll by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/5685
- server: fix max emission limit in throttle command by @abhijat in https://github.com/dragonflydb/dragonfly/pull/5686
- fix: list ops transformation during replication by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/5700
- fix: command parsing in geo family by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/5714
- chore: add queue task index to the log by @romange in https://github.com/dragonflydb/dragonfly/pull/5716
- chore(server): Semi-automatic flag updates by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/5666
- feat(search): Add indexes joining by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/5604
- feat(search_family): Add LOAD_FROM to the FT.AGGREGATE command by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/5703
- feat(search_family): Improve sorting and limiting in index joins by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/5717
- fix: macos and linux build by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/5718
- feat: Implement GEORADIUS_RO command by @EricHayter in https://github.com/dragonflydb/dragonfly/pull/5678
- test: skip failing tests by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/5721
- docs: improve description of --maxmemory parameter (units/tiering/minPerThread) by @frivoire in https://github.com/dragonflydb/dragonfly/pull/5696
- chore: update task queue fiber priority to high by @romange in https://github.com/dragonflydb/dragonfly/pull/5722
- chore: check fail for empty listpacks in streams by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/5704
- feat: improve target node latency during migration by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/5715
- chore: Strict bounds when adding uknown command for INFO ALL stats by @mkaruza in https://github.com/dragonflydb/dragonfly/pull/5735
- server: Drop contents of
exec_infobody on clear by @abhijat in https://github.com/dragonflydb/dragonfly/pull/5740 - feat: Implement GEORADIUSBYMEMBER_RO command by @EricHayter in https://github.com/dragonflydb/dragonfly/pull/5726
- fix: reject geosearch count 0 by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/5734
- fix: jsonPath parser for int values by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/5737
- feat(dfly_bench): Generate value with random length by @mkaruza in https://github.com/dragonflydb/dragonfly/pull/5743
- fix: JSON RESP3 compatibility - remove extra nested arrays for most commands by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/5747
- chore: rewrite mimalloc2 external lib dependency by @romange in https://github.com/dragonflydb/dragonfly/pull/5751
- fix: replication for Z...STORE commands by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/5728
- server: Enable lua legacy float response for RESP3 by @abhijat in https://github.com/dragonflydb/dragonfly/pull/5754
- fix: bitfield no operations command by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/5756
- test: unskip epoll cluster and replication tests by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/5757
- Pull helio by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/5760
- fix: search index restore when index names start with ‘:’ (e.g. :Order:index) by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/5755
- Revert "test: unskip epoll cluster and replication tests (#5757)" by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/5761
- chore: add more logs for takeover by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/5765
- chore: implement the iterative fragmentation check by @romange in https://github.com/dragonflydb/dragonfly/pull/5766
- server: Adds metrics for background defrag task by @abhijat in https://github.com/dragonflydb/dragonfly/pull/5767
- server: metrics to track stored command sizes by @abhijat in https://github.com/dragonflydb/dragonfly/pull/5764
- chore: unlink deletes hashes asynchronously by @romange in https://github.com/dragonflydb/dragonfly/pull/5773
- fix: acl pubsub should only glob match the channel by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/5769
- chore: add self-testing code for heap->full_page_size computation by @romange in https://github.com/dragonflydb/dragonfly/pull/5772
- chore: tune replication/migration settings by @romange in https://github.com/dragonflydb/dragonfly/pull/5779
- facade/server: Use inline instead of extern to reduce loc by @abhijat in https://github.com/dragonflydb/dragonfly/pull/5768
- fix: script error reply by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/5776
- chore: Resize vector in StringMap::RandomPairs by @mkaruza in https://github.com/dragonflydb/dragonfly/pull/5781
- dfly_bench: Show error on failing to make address by @abhijat in https://github.com/dragonflydb/dragonfly/pull/5787
- feat: SHUTDOWN: fast path for NOW/FORCE; unify SAVE/SAFE; support NOSAVE by @vyavdoshenko in https://github.com/dragonflydb/dragonfly/pull/5783
- core: Replace sbf with hyperloglog by @abhijat in https://github.com/dragonflydb/dragonfly/pull/5784
- server: Reject caching command if tracking is not enabled by @abhijat in https://github.com/dragonflydb/dragonfly/pull/5786
- fix: data loss in partial sync from same source master by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/5727
- fix: Scan on non-existing key should return zero cursor by @mkaruza in https://github.com/dragonflydb/dragonfly/pull/5780
- fix(snapshot): Replace sleeps with yield by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/5619
- fix(block_list): Speed up Split method by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/5748
- chore: pass to a string compact_object a key/value flag by @romange in https://github.com/dragonflydb/dragonfly/pull/5795
- feat(range_tree): Add FinalizeInitialization method to the RangeTree by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/5793
- fix: stale pointer reference during slot migration and flush by @romange in https://github.com/dragonflydb/dragonfly/pull/5798
- chore: Command category cleanup (part 2?) by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/5800
- fix: remove limitation for SSCAN by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/5806
- chore: Update helio submodule by @mkaruza in https://github.com/dragonflydb/dragonfly/pull/5807
- chore(tiering): Fix asserts around reads for serialization by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/5802
- feat: prometheus metrics per database by @qlimenoque in https://github.com/dragonflydb/dragonfly/pull/5770
- chore(rdb): Insert big values only after full construction by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/5796
- fix(tiering): Cooldown for DiskStorage::Grow() retries by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/5803
- ci: enable repeat tests to use release and force epoll by @abhijat in https://github.com/dragonflydb/dragonfly/pull/5805
- chore: Clean up string_family by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/5801
- chore(tiering): Make lower bound configurable by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/5810
- fix: increase fiber stack by @BorysTheDev in https://github.com/dragonflydb/dragonfly/pull/5817
- chore: support huffman encoding for string values by @romange in https://github.com/dragonflydb/dragonfly/pull/5815
- chore: increase timeout to 80mins for reg tests by @kostasrim in https://github.com/dragonflydb/dragonfly/pull/5819
- chore(server): Hide internal CO flags from output by @dranikpg in https://github.com/dragonflydb/dragonfly/pull/5814
- feat: Add eviction based on rss memory usage by @BagritsevichStepan in https://github.com/dragonflydb/dragonfly/pull/5791
Huge thanks to all the contributors! ❤️
New Contributors
- @frivoire made their first contribution in https://github.com/dragonflydb/dragonfly/pull/5696
- @qlimenoque made their first contribution in https://github.com/dragonflydb/dragonfly/pull/5770
Full Changelog: https://github.com/dragonflydb/dragonfly/compare/v1.33.0...v1.34.0