-
Notifications
You must be signed in to change notification settings - Fork 948
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: change log level to warning for empty keys #3722
Conversation
kostasrim
commented
Sep 17, 2024
- change log level to warning
src/server/rdb_load.cc
Outdated
@@ -2478,8 +2478,8 @@ void RdbLoader::LoadItemsBuffer(DbIndex db_ind, const ItemsBuf& ib) { | |||
PrimeValue pv; | |||
if (ec_ = FromOpaque(item->val, &pv); ec_) { | |||
if ((*ec_).value() == errc::empty_key) { | |||
LOG(ERROR) << "Found empty key: " << item->key << " in DB " << db_ind << " rdb_type " | |||
<< item->val.rdb_type; | |||
LOG(WARNING) << "Found empty key: " << item->key << " in DB " << db_ind << " rdb_type " |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wait, what time of keys does it makes sence tho be empty? only hash and sets with expire for value , all the rest should remain error right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is code I added in https://github.com/dragonflydb/dragonfly/pull/3514/files#diff-f290b77c3b769ae2ef0e210094095a2c14f81f57980777e10ce4807cf3bc133cR2468
We can't really have an empty key if it's not a hash on a set as you say so it doesn't really make sense to add to LOG(ERROR)
for datatypes that are not hash/set.
It's as simple change to LOG(ERROR)
for any other data type. The question is, is there a value in doing so ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that we might have a bug that we saw empty keys not for set and hash set and we want to track this
am I right @chakaz
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it was a hash set I think @adiholden but let's wait for @chakaz
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We definitely saw this line being printed for other types:
#define RDB_TYPE_HASH_ZIPLIST 13
#define RDB_TYPE_STRING 0
#define RDB_TYPE_SET 2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then I will turn this into an ERROR
for other types
@@ -228,6 +228,11 @@ string ModuleTypeName(uint64_t module_id) { | |||
return string{name}; | |||
} | |||
|
|||
bool RdbTypeAllowedEmpty(int type) { | |||
return type == RDB_TYPE_STRING || type == RDB_TYPE_JSON || type == RDB_TYPE_SBF || |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we allow empty for this types?
I think this should be only
constexpr uint8_t RDB_TYPE_HASH_WITH_EXPIRY = 31;
constexpr uint8_t RDB_TYPE_SET_WITH_EXPIRY = 32;
No?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nope, we do allow. For strings: SET foo ""
--> empty and for SBF we have a test :)
See PrimeValue::TagAllowsEmptyValue
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
synced with Adi internally, we decided to also not log as errors hash sets and sets
with expiry
@@ -852,7 +852,8 @@ bool CompactObj::HasAllocated() const { | |||
|
|||
bool CompactObj::TagAllowsEmptyValue() const { | |||
const auto type = ObjType(); | |||
return type == OBJ_JSON || type == OBJ_STREAM || type == OBJ_STRING || type == OBJ_SBF; | |||
return type == OBJ_JSON || type == OBJ_STREAM || type == OBJ_STRING || type == OBJ_SBF || | |||
type == OBJ_SET; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We also allow SETS
now since they can be encoded as dense sets
…23.0 ) (#5480) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/dragonflydb/dragonfly](https://redirect.github.com/dragonflydb/dragonfly) | minor | `v1.22.2` -> `v1.23.0` | --- ### Release Notes <details> <summary>dragonflydb/dragonfly (ghcr.io/dragonflydb/dragonfly)</summary> ### [`v1.23.0`](https://redirect.github.com/dragonflydb/dragonfly/releases/tag/v1.23.0) [Compare Source](https://redirect.github.com/dragonflydb/dragonfly/compare/v1.22.2...v1.23.0) ##### Dragonfly v1.23.0 Some prominent changes include: - Fix container healthchecks for both privileged and non-privileged environments [#​3644](https://redirect.github.com/dragonflydb/dragonfly/issues/3644) - Fix FT.AGGREGATE command ([#​3657](https://redirect.github.com/dragonflydb/dragonfly/issues/3657) [#​3660](https://redirect.github.com/dragonflydb/dragonfly/issues/3660) ) - Fix regression with the S3 access [#​3717](https://redirect.github.com/dragonflydb/dragonfly/issues/3717) - Added ZRANGESTORE command [#​3757](https://redirect.github.com/dragonflydb/dragonfly/issues/3757) - introduce`rss_oom_deny_ratio` flag ([#​3702](https://redirect.github.com/dragonflydb/dragonfly/issues/3702)) - now Dragonfly will reject write commands if its RSS memory usage crosses `maxmemory*rss_oom_deny_ratio`. The default value of this flag is set to 1.25. - Support for "CLIENT ID" and "CLIENT SETINFO" commands ([#​3673](https://redirect.github.com/dragonflydb/dragonfly/issues/3673) and [#​3672](https://redirect.github.com/dragonflydb/dragonfly/issues/3672)) - Better memory tracking for JSON objects ([#​3641](https://redirect.github.com/dragonflydb/dragonfly/issues/3641)) ##### What's Changed - fix(docker/healthcheck): run netstat port retreival command as dfly by [@​Pothulapati](https://redirect.github.com/Pothulapati) in [https://github.com/dragonflydb/dragonfly/pull/3647](https://redirect.github.com/dragonflydb/dragonfly/pull/3647) - test: remove redundant tests by [@​cunla](https://redirect.github.com/cunla) in [https://github.com/dragonflydb/dragonfly/pull/3642](https://redirect.github.com/dragonflydb/dragonfly/pull/3642) - chore: allow disabling io_uring registered buffers by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3650](https://redirect.github.com/dragonflydb/dragonfly/pull/3650) - CmdArgParser improvement by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3633](https://redirect.github.com/dragonflydb/dragonfly/pull/3633) - fix: deadlock in the cluster migration process by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3653](https://redirect.github.com/dragonflydb/dragonfly/pull/3653) - fix: fix multi mget exec error message by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3662](https://redirect.github.com/dragonflydb/dragonfly/pull/3662) - test: fix MC test_expiration by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3663](https://redirect.github.com/dragonflydb/dragonfly/pull/3663) - chore: add some community suggestions to README by [@​Niennienzz](https://redirect.github.com/Niennienzz) in [https://github.com/dragonflydb/dragonfly/pull/3664](https://redirect.github.com/dragonflydb/dragonfly/pull/3664) - fix: recursive calls in the allocation tracker by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3665](https://redirect.github.com/dragonflydb/dragonfly/pull/3665) - chore: cosmetic changes around Snapshot functions by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3652](https://redirect.github.com/dragonflydb/dragonfly/pull/3652) - fix(search_family): Fix FT.AGGREGATE GROUPBY option by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3657](https://redirect.github.com/dragonflydb/dragonfly/pull/3657) - chore: Add `CLIENT ID` command by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3672](https://redirect.github.com/dragonflydb/dragonfly/pull/3672) - deprecate RecordsPopper and serialize channel records during push by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3667](https://redirect.github.com/dragonflydb/dragonfly/pull/3667) - feat(server): Support `CLIENT SETINFO` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3673](https://redirect.github.com/dragonflydb/dragonfly/pull/3673) - server logs: change script error to warning by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3670](https://redirect.github.com/dragonflydb/dragonfly/pull/3670) - fix(search_family): Fix LOAD option behavior in the FT.AGGREGATE command by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3660](https://redirect.github.com/dragonflydb/dragonfly/pull/3660) - test: unskip cluster tests and add debug info by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3681](https://redirect.github.com/dragonflydb/dragonfly/pull/3681) - chore: adjust RdbChannel sizes by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3676](https://redirect.github.com/dragonflydb/dragonfly/pull/3676) - chore: add a script that parses allocator tracking logs by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3687](https://redirect.github.com/dragonflydb/dragonfly/pull/3687) - chore: limit number of descriptors in the exec map by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3688](https://redirect.github.com/dragonflydb/dragonfly/pull/3688) - fix(server): fix replication master deadlock on cancelation flow by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3686](https://redirect.github.com/dragonflydb/dragonfly/pull/3686) - fix: join for cancel incoming migration by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3692](https://redirect.github.com/dragonflydb/dragonfly/pull/3692) - fix(json_family): Fix the JSON.SET bug if the path is in legacy mode and is not the root by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3693](https://redirect.github.com/dragonflydb/dragonfly/pull/3693) - fix: test_acl_revoke_pub_sub_while_subscribed by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3680](https://redirect.github.com/dragonflydb/dragonfly/pull/3680) - test: fix test_cluster_replication_migration by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3699](https://redirect.github.com/dragonflydb/dragonfly/pull/3699) - fix: test_replicaof_reject_on_load assert failure by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3697](https://redirect.github.com/dragonflydb/dragonfly/pull/3697) - fix(json_family) Add NOESCAPE option to the JSON.GET command by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3685](https://redirect.github.com/dragonflydb/dragonfly/pull/3685) - chore: pull latest helio by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3700](https://redirect.github.com/dragonflydb/dragonfly/pull/3700) - feat(core): Support RISCV RVV by [@​howjmay](https://redirect.github.com/howjmay) in [https://github.com/dragonflydb/dragonfly/pull/3655](https://redirect.github.com/dragonflydb/dragonfly/pull/3655) - fix: allow parsing extra spaces on acl files by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3703](https://redirect.github.com/dragonflydb/dragonfly/pull/3703) - Update dflycluster slot-migration-status reply by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3707](https://redirect.github.com/dragonflydb/dragonfly/pull/3707) - chore: add clone benchmark by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3709](https://redirect.github.com/dragonflydb/dragonfly/pull/3709) - fix: add default value has_mc_flag field by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3710](https://redirect.github.com/dragonflydb/dragonfly/pull/3710) - chore: symbolize stack traces in tests upon crash by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3714](https://redirect.github.com/dragonflydb/dragonfly/pull/3714) - fix: fix s3 load snapshot by [@​andydunstall](https://redirect.github.com/andydunstall) in [https://github.com/dragonflydb/dragonfly/pull/3717](https://redirect.github.com/dragonflydb/dragonfly/pull/3717) - fix(cluster): Do not `Pause()` replication / migrations by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3716](https://redirect.github.com/dragonflydb/dragonfly/pull/3716) - chore: add log info on failed commands by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3694](https://redirect.github.com/dragonflydb/dragonfly/pull/3694) - chore: enable ReplyGuard in ReplyBuilder2 by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3705](https://redirect.github.com/dragonflydb/dragonfly/pull/3705) - tests: fix and enable s3 snapshot test by [@​andydunstall](https://redirect.github.com/andydunstall) in [https://github.com/dragonflydb/dragonfly/pull/3720](https://redirect.github.com/dragonflydb/dragonfly/pull/3720) - fix(json_family): Fix JSON.ARRPOP command in legacy mode should not return WRONGTYPE error by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3683](https://redirect.github.com/dragonflydb/dragonfly/pull/3683) - fix(json_family): Separate double and int values during the comparison of the JSON objects by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3711](https://redirect.github.com/dragonflydb/dragonfly/pull/3711) - fix: Fix test `test_client_pause_with_replica` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3729](https://redirect.github.com/dragonflydb/dragonfly/pull/3729) - fix: Fix `cluster_mgr.py` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3730](https://redirect.github.com/dragonflydb/dragonfly/pull/3730) - fix: Fix `test_take_over_seeder` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3733](https://redirect.github.com/dragonflydb/dragonfly/pull/3733) - chore: Remove ReqSerializer by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3721](https://redirect.github.com/dragonflydb/dragonfly/pull/3721) - fix(json_family): Fix out of bound ranges for the JSON.ARR\* commands by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3712](https://redirect.github.com/dragonflydb/dragonfly/pull/3712) - fix: properly track json memory usage by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3641](https://redirect.github.com/dragonflydb/dragonfly/pull/3641) - test: add tests for replication by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3734](https://redirect.github.com/dragonflydb/dragonfly/pull/3734) - test: unskip test for debugging purpose by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3738](https://redirect.github.com/dragonflydb/dragonfly/pull/3738) - refactor: use CmdArgParser for XGROUP command by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3739](https://redirect.github.com/dragonflydb/dragonfly/pull/3739) - test: add test for replication deadlock on replication timeout by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3691](https://redirect.github.com/dragonflydb/dragonfly/pull/3691) - chore: Switch ports for `cluster_mgr_test.py` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3741](https://redirect.github.com/dragonflydb/dragonfly/pull/3741) - chore: change log level to warning for empty keys by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3722](https://redirect.github.com/dragonflydb/dragonfly/pull/3722) - chore: add SetReplies by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3727](https://redirect.github.com/dragonflydb/dragonfly/pull/3727) - chore: introduce a Clone function for the dense set by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3740](https://redirect.github.com/dragonflydb/dragonfly/pull/3740) - chore: add missing await in test_take_over_seeder by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3744](https://redirect.github.com/dragonflydb/dragonfly/pull/3744) - fix: allow the healthcheck run in non-privileged containers as well by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3731](https://redirect.github.com/dragonflydb/dragonfly/pull/3731) - fix: add value range check for SETBIT command by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3750](https://redirect.github.com/dragonflydb/dragonfly/pull/3750) - fix: zset store conclude transaction on error by [@​andydunstall](https://redirect.github.com/andydunstall) in [https://github.com/dragonflydb/dragonfly/pull/3755](https://redirect.github.com/dragonflydb/dragonfly/pull/3755) - chore: refactor a lambda function into a named one by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3753](https://redirect.github.com/dragonflydb/dragonfly/pull/3753) - chore: fix return on bad status by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3758](https://redirect.github.com/dragonflydb/dragonfly/pull/3758) - feat(helm): add hostNetwork, topologySpreadConstraint and clusterIP su… by [@​katapultcloud](https://redirect.github.com/katapultcloud) in [https://github.com/dragonflydb/dragonfly/pull/3389](https://redirect.github.com/dragonflydb/dragonfly/pull/3389) - feat(server): introduce oom_deny_commands flag by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3718](https://redirect.github.com/dragonflydb/dragonfly/pull/3718) - feat(server): introduce rss oom limit by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3702](https://redirect.github.com/dragonflydb/dragonfly/pull/3702) - fix: test deadlock with processing the stdout of sed by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3735](https://redirect.github.com/dragonflydb/dragonfly/pull/3735) - chore: add integrity checks to consumer->pel by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3754](https://redirect.github.com/dragonflydb/dragonfly/pull/3754) - fix: make snapshotting process more responsive by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3759](https://redirect.github.com/dragonflydb/dragonfly/pull/3759) - fix: tune test_replicaof_reject_on_load parameters by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3762](https://redirect.github.com/dragonflydb/dragonfly/pull/3762) - chore: logs on assert fail for test_acl_cat_commands_multi_exec_squash by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3749](https://redirect.github.com/dragonflydb/dragonfly/pull/3749) - chore: add more error logs around ziplist parsing checks by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3764](https://redirect.github.com/dragonflydb/dragonfly/pull/3764) - fix: substr/getrange result for invalid range by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3766](https://redirect.github.com/dragonflydb/dragonfly/pull/3766) - feat(zset_family): add ZRANGESTORE by [@​andydunstall](https://redirect.github.com/andydunstall) in [https://github.com/dragonflydb/dragonfly/pull/3757](https://redirect.github.com/dragonflydb/dragonfly/pull/3757) - fix server: fix last error reply by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3728](https://redirect.github.com/dragonflydb/dragonfly/pull/3728) - chore: give up on InlinedVector due to spurious warnings with optional by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3765](https://redirect.github.com/dragonflydb/dragonfly/pull/3765) - fix: mark pubusb commands as unsupported for cluster by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3767](https://redirect.github.com/dragonflydb/dragonfly/pull/3767) - chore: some renames + fix a typo in RETURN_ON_BAD_STATUS by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3763](https://redirect.github.com/dragonflydb/dragonfly/pull/3763) - fix: setrange with empty value doesn't modify the DB by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3771](https://redirect.github.com/dragonflydb/dragonfly/pull/3771) ##### New Contributors - [@​howjmay](https://redirect.github.com/howjmay) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/3655](https://redirect.github.com/dragonflydb/dragonfly/pull/3655) - [@​katapultcloud](https://redirect.github.com/katapultcloud) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/3389](https://redirect.github.com/dragonflydb/dragonfly/pull/3389) ##### Huge thanks to all the contributors! ❤️ **Full Changelog**: dragonflydb/dragonfly@v1.22.0...v1.23.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC45NC4zIiwidXBkYXRlZEluVmVyIjoiMzguOTQuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9taW5vciJdfQ==--> Co-authored-by: lumiere-bot[bot] <98047013+lumiere-bot[bot]@users.noreply.github.com>
…nfly ( v1.22.2 → v1.23.0 ) (#4341) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.dragonflydb.io/dragonflydb/dragonfly](https://redirect.github.com/dragonflydb/dragonfly) | minor | `v1.22.2` -> `v1.23.0` | --- ### Release Notes <details> <summary>dragonflydb/dragonfly (docker.dragonflydb.io/dragonflydb/dragonfly)</summary> ### [`v1.23.0`](https://redirect.github.com/dragonflydb/dragonfly/releases/tag/v1.23.0) [Compare Source](https://redirect.github.com/dragonflydb/dragonfly/compare/v1.22.2...v1.23.0) ##### Dragonfly v1.23.0 Some prominent changes include: - Fix container healthchecks for both privileged and non-privileged environments [#​3644](https://redirect.github.com/dragonflydb/dragonfly/issues/3644) - Fix FT.AGGREGATE command ([#​3657](https://redirect.github.com/dragonflydb/dragonfly/issues/3657) [#​3660](https://redirect.github.com/dragonflydb/dragonfly/issues/3660) ) - Fix regression with the S3 access [#​3717](https://redirect.github.com/dragonflydb/dragonfly/issues/3717) - Added ZRANGESTORE command [#​3757](https://redirect.github.com/dragonflydb/dragonfly/issues/3757) - introduce`rss_oom_deny_ratio` flag ([#​3702](https://redirect.github.com/dragonflydb/dragonfly/issues/3702)) - now Dragonfly will reject write commands if its RSS memory usage crosses `maxmemory*rss_oom_deny_ratio`. The default value of this flag is set to 1.25. - Support for "CLIENT ID" and "CLIENT SETINFO" commands ([#​3673](https://redirect.github.com/dragonflydb/dragonfly/issues/3673) and [#​3672](https://redirect.github.com/dragonflydb/dragonfly/issues/3672)) - Better memory tracking for JSON objects ([#​3641](https://redirect.github.com/dragonflydb/dragonfly/issues/3641)) ##### What's Changed - fix(docker/healthcheck): run netstat port retreival command as dfly by [@​Pothulapati](https://redirect.github.com/Pothulapati) in [https://github.com/dragonflydb/dragonfly/pull/3647](https://redirect.github.com/dragonflydb/dragonfly/pull/3647) - test: remove redundant tests by [@​cunla](https://redirect.github.com/cunla) in [https://github.com/dragonflydb/dragonfly/pull/3642](https://redirect.github.com/dragonflydb/dragonfly/pull/3642) - chore: allow disabling io_uring registered buffers by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3650](https://redirect.github.com/dragonflydb/dragonfly/pull/3650) - CmdArgParser improvement by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3633](https://redirect.github.com/dragonflydb/dragonfly/pull/3633) - fix: deadlock in the cluster migration process by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3653](https://redirect.github.com/dragonflydb/dragonfly/pull/3653) - fix: fix multi mget exec error message by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3662](https://redirect.github.com/dragonflydb/dragonfly/pull/3662) - test: fix MC test_expiration by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3663](https://redirect.github.com/dragonflydb/dragonfly/pull/3663) - chore: add some community suggestions to README by [@​Niennienzz](https://redirect.github.com/Niennienzz) in [https://github.com/dragonflydb/dragonfly/pull/3664](https://redirect.github.com/dragonflydb/dragonfly/pull/3664) - fix: recursive calls in the allocation tracker by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3665](https://redirect.github.com/dragonflydb/dragonfly/pull/3665) - chore: cosmetic changes around Snapshot functions by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3652](https://redirect.github.com/dragonflydb/dragonfly/pull/3652) - fix(search_family): Fix FT.AGGREGATE GROUPBY option by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3657](https://redirect.github.com/dragonflydb/dragonfly/pull/3657) - chore: Add `CLIENT ID` command by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3672](https://redirect.github.com/dragonflydb/dragonfly/pull/3672) - deprecate RecordsPopper and serialize channel records during push by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3667](https://redirect.github.com/dragonflydb/dragonfly/pull/3667) - feat(server): Support `CLIENT SETINFO` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3673](https://redirect.github.com/dragonflydb/dragonfly/pull/3673) - server logs: change script error to warning by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3670](https://redirect.github.com/dragonflydb/dragonfly/pull/3670) - fix(search_family): Fix LOAD option behavior in the FT.AGGREGATE command by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3660](https://redirect.github.com/dragonflydb/dragonfly/pull/3660) - test: unskip cluster tests and add debug info by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3681](https://redirect.github.com/dragonflydb/dragonfly/pull/3681) - chore: adjust RdbChannel sizes by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3676](https://redirect.github.com/dragonflydb/dragonfly/pull/3676) - chore: add a script that parses allocator tracking logs by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3687](https://redirect.github.com/dragonflydb/dragonfly/pull/3687) - chore: limit number of descriptors in the exec map by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3688](https://redirect.github.com/dragonflydb/dragonfly/pull/3688) - fix(server): fix replication master deadlock on cancelation flow by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3686](https://redirect.github.com/dragonflydb/dragonfly/pull/3686) - fix: join for cancel incoming migration by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3692](https://redirect.github.com/dragonflydb/dragonfly/pull/3692) - fix(json_family): Fix the JSON.SET bug if the path is in legacy mode and is not the root by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3693](https://redirect.github.com/dragonflydb/dragonfly/pull/3693) - fix: test_acl_revoke_pub_sub_while_subscribed by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3680](https://redirect.github.com/dragonflydb/dragonfly/pull/3680) - test: fix test_cluster_replication_migration by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3699](https://redirect.github.com/dragonflydb/dragonfly/pull/3699) - fix: test_replicaof_reject_on_load assert failure by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3697](https://redirect.github.com/dragonflydb/dragonfly/pull/3697) - fix(json_family) Add NOESCAPE option to the JSON.GET command by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3685](https://redirect.github.com/dragonflydb/dragonfly/pull/3685) - chore: pull latest helio by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3700](https://redirect.github.com/dragonflydb/dragonfly/pull/3700) - feat(core): Support RISCV RVV by [@​howjmay](https://redirect.github.com/howjmay) in [https://github.com/dragonflydb/dragonfly/pull/3655](https://redirect.github.com/dragonflydb/dragonfly/pull/3655) - fix: allow parsing extra spaces on acl files by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3703](https://redirect.github.com/dragonflydb/dragonfly/pull/3703) - Update dflycluster slot-migration-status reply by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3707](https://redirect.github.com/dragonflydb/dragonfly/pull/3707) - chore: add clone benchmark by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3709](https://redirect.github.com/dragonflydb/dragonfly/pull/3709) - fix: add default value has_mc_flag field by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3710](https://redirect.github.com/dragonflydb/dragonfly/pull/3710) - chore: symbolize stack traces in tests upon crash by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3714](https://redirect.github.com/dragonflydb/dragonfly/pull/3714) - fix: fix s3 load snapshot by [@​andydunstall](https://redirect.github.com/andydunstall) in [https://github.com/dragonflydb/dragonfly/pull/3717](https://redirect.github.com/dragonflydb/dragonfly/pull/3717) - fix(cluster): Do not `Pause()` replication / migrations by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3716](https://redirect.github.com/dragonflydb/dragonfly/pull/3716) - chore: add log info on failed commands by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3694](https://redirect.github.com/dragonflydb/dragonfly/pull/3694) - chore: enable ReplyGuard in ReplyBuilder2 by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3705](https://redirect.github.com/dragonflydb/dragonfly/pull/3705) - tests: fix and enable s3 snapshot test by [@​andydunstall](https://redirect.github.com/andydunstall) in [https://github.com/dragonflydb/dragonfly/pull/3720](https://redirect.github.com/dragonflydb/dragonfly/pull/3720) - fix(json_family): Fix JSON.ARRPOP command in legacy mode should not return WRONGTYPE error by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3683](https://redirect.github.com/dragonflydb/dragonfly/pull/3683) - fix(json_family): Separate double and int values during the comparison of the JSON objects by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3711](https://redirect.github.com/dragonflydb/dragonfly/pull/3711) - fix: Fix test `test_client_pause_with_replica` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3729](https://redirect.github.com/dragonflydb/dragonfly/pull/3729) - fix: Fix `cluster_mgr.py` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3730](https://redirect.github.com/dragonflydb/dragonfly/pull/3730) - fix: Fix `test_take_over_seeder` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3733](https://redirect.github.com/dragonflydb/dragonfly/pull/3733) - chore: Remove ReqSerializer by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3721](https://redirect.github.com/dragonflydb/dragonfly/pull/3721) - fix(json_family): Fix out of bound ranges for the JSON.ARR\* commands by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3712](https://redirect.github.com/dragonflydb/dragonfly/pull/3712) - fix: properly track json memory usage by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3641](https://redirect.github.com/dragonflydb/dragonfly/pull/3641) - test: add tests for replication by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3734](https://redirect.github.com/dragonflydb/dragonfly/pull/3734) - test: unskip test for debugging purpose by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3738](https://redirect.github.com/dragonflydb/dragonfly/pull/3738) - refactor: use CmdArgParser for XGROUP command by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3739](https://redirect.github.com/dragonflydb/dragonfly/pull/3739) - test: add test for replication deadlock on replication timeout by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3691](https://redirect.github.com/dragonflydb/dragonfly/pull/3691) - chore: Switch ports for `cluster_mgr_test.py` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3741](https://redirect.github.com/dragonflydb/dragonfly/pull/3741) - chore: change log level to warning for empty keys by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3722](https://redirect.github.com/dragonflydb/dragonfly/pull/3722) - chore: add SetReplies by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3727](https://redirect.github.com/dragonflydb/dragonfly/pull/3727) - chore: introduce a Clone function for the dense set by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3740](https://redirect.github.com/dragonflydb/dragonfly/pull/3740) - chore: add missing await in test_take_over_seeder by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3744](https://redirect.github.com/dragonflydb/dragonfly/pull/3744) - fix: allow the healthcheck run in non-privileged containers as well by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3731](https://redirect.github.com/dragonflydb/dragonfly/pull/3731) - fix: add value range check for SETBIT command by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3750](https://redirect.github.com/dragonflydb/dragonfly/pull/3750) - fix: zset store conclude transaction on error by [@​andydunstall](https://redirect.github.com/andydunstall) in [https://github.com/dragonflydb/dragonfly/pull/3755](https://redirect.github.com/dragonflydb/dragonfly/pull/3755) - chore: refactor a lambda function into a named one by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3753](https://redirect.github.com/dragonflydb/dragonfly/pull/3753) - chore: fix return on bad status by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3758](https://redirect.github.com/dragonflydb/dragonfly/pull/3758) - feat(helm): add hostNetwork, topologySpreadConstraint and clusterIP su… by [@​katapultcloud](https://redirect.github.com/katapultcloud) in [https://github.com/dragonflydb/dragonfly/pull/3389](https://redirect.github.com/dragonflydb/dragonfly/pull/3389) - feat(server): introduce oom_deny_commands flag by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3718](https://redirect.github.com/dragonflydb/dragonfly/pull/3718) - feat(server): introduce rss oom limit by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3702](https://redirect.github.com/dragonflydb/dragonfly/pull/3702) - fix: test deadlock with processing the stdout of sed by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3735](https://redirect.github.com/dragonflydb/dragonfly/pull/3735) - chore: add integrity checks to consumer->pel by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3754](https://redirect.github.com/dragonflydb/dragonfly/pull/3754) - fix: make snapshotting process more responsive by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3759](https://redirect.github.com/dragonflydb/dragonfly/pull/3759) - fix: tune test_replicaof_reject_on_load parameters by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3762](https://redirect.github.com/dragonflydb/dragonfly/pull/3762) - chore: logs on assert fail for test_acl_cat_commands_multi_exec_squash by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3749](https://redirect.github.com/dragonflydb/dragonfly/pull/3749) - chore: add more error logs around ziplist parsing checks by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3764](https://redirect.github.com/dragonflydb/dragonfly/pull/3764) - fix: substr/getrange result for invalid range by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3766](https://redirect.github.com/dragonflydb/dragonfly/pull/3766) - feat(zset_family): add ZRANGESTORE by [@​andydunstall](https://redirect.github.com/andydunstall) in [https://github.com/dragonflydb/dragonfly/pull/3757](https://redirect.github.com/dragonflydb/dragonfly/pull/3757) - fix server: fix last error reply by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3728](https://redirect.github.com/dragonflydb/dragonfly/pull/3728) - chore: give up on InlinedVector due to spurious warnings with optional by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3765](https://redirect.github.com/dragonflydb/dragonfly/pull/3765) - fix: mark pubusb commands as unsupported for cluster by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3767](https://redirect.github.com/dragonflydb/dragonfly/pull/3767) - chore: some renames + fix a typo in RETURN_ON_BAD_STATUS by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3763](https://redirect.github.com/dragonflydb/dragonfly/pull/3763) - fix: setrange with empty value doesn't modify the DB by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3771](https://redirect.github.com/dragonflydb/dragonfly/pull/3771) ##### New Contributors - [@​howjmay](https://redirect.github.com/howjmay) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/3655](https://redirect.github.com/dragonflydb/dragonfly/pull/3655) - [@​katapultcloud](https://redirect.github.com/katapultcloud) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/3389](https://redirect.github.com/dragonflydb/dragonfly/pull/3389) ##### Huge thanks to all the contributors! ❤️ **Full Changelog**: dragonflydb/dragonfly@v1.22.0...v1.23.0 </details> <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC45NC4zIiwidXBkYXRlZEluVmVyIjoiMzguOTQuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9taW5vciJdfQ==--> Co-authored-by: repo-jeeves[bot] <106431701+repo-jeeves[bot]@users.noreply.github.com>
#983) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/dragonflydb/dragonfly](https://redirect.github.com/dragonflydb/dragonfly) | minor | `v1.22.2` -> `v1.23.0` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>dragonflydb/dragonfly (ghcr.io/dragonflydb/dragonfly)</summary> ### [`v1.23.0`](https://redirect.github.com/dragonflydb/dragonfly/releases/tag/v1.23.0) [Compare Source](https://redirect.github.com/dragonflydb/dragonfly/compare/v1.22.2...v1.23.0) ##### Dragonfly v1.23.0 Some prominent changes include: - Fix container healthchecks for both privileged and non-privileged environments [#​3644](https://redirect.github.com/dragonflydb/dragonfly/issues/3644) - Fix FT.AGGREGATE command ([#​3657](https://redirect.github.com/dragonflydb/dragonfly/issues/3657) [#​3660](https://redirect.github.com/dragonflydb/dragonfly/issues/3660) ) - Fix regression with the S3 access [#​3717](https://redirect.github.com/dragonflydb/dragonfly/issues/3717) - Added ZRANGESTORE command [#​3757](https://redirect.github.com/dragonflydb/dragonfly/issues/3757) - introduce`rss_oom_deny_ratio` flag ([#​3702](https://redirect.github.com/dragonflydb/dragonfly/issues/3702)) - now Dragonfly will reject write commands if its RSS memory usage crosses `maxmemory*rss_oom_deny_ratio`. The default value of this flag is set to 1.25. - Support for "CLIENT ID" and "CLIENT SETINFO" commands ([#​3673](https://redirect.github.com/dragonflydb/dragonfly/issues/3673) and [#​3672](https://redirect.github.com/dragonflydb/dragonfly/issues/3672)) - Better memory tracking for JSON objects ([#​3641](https://redirect.github.com/dragonflydb/dragonfly/issues/3641)) ##### What's Changed - fix(docker/healthcheck): run netstat port retreival command as dfly by [@​Pothulapati](https://redirect.github.com/Pothulapati) in [https://github.com/dragonflydb/dragonfly/pull/3647](https://redirect.github.com/dragonflydb/dragonfly/pull/3647) - test: remove redundant tests by [@​cunla](https://redirect.github.com/cunla) in [https://github.com/dragonflydb/dragonfly/pull/3642](https://redirect.github.com/dragonflydb/dragonfly/pull/3642) - chore: allow disabling io_uring registered buffers by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3650](https://redirect.github.com/dragonflydb/dragonfly/pull/3650) - CmdArgParser improvement by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3633](https://redirect.github.com/dragonflydb/dragonfly/pull/3633) - fix: deadlock in the cluster migration process by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3653](https://redirect.github.com/dragonflydb/dragonfly/pull/3653) - fix: fix multi mget exec error message by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3662](https://redirect.github.com/dragonflydb/dragonfly/pull/3662) - test: fix MC test_expiration by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3663](https://redirect.github.com/dragonflydb/dragonfly/pull/3663) - chore: add some community suggestions to README by [@​Niennienzz](https://redirect.github.com/Niennienzz) in [https://github.com/dragonflydb/dragonfly/pull/3664](https://redirect.github.com/dragonflydb/dragonfly/pull/3664) - fix: recursive calls in the allocation tracker by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3665](https://redirect.github.com/dragonflydb/dragonfly/pull/3665) - chore: cosmetic changes around Snapshot functions by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3652](https://redirect.github.com/dragonflydb/dragonfly/pull/3652) - fix(search_family): Fix FT.AGGREGATE GROUPBY option by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3657](https://redirect.github.com/dragonflydb/dragonfly/pull/3657) - chore: Add `CLIENT ID` command by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3672](https://redirect.github.com/dragonflydb/dragonfly/pull/3672) - deprecate RecordsPopper and serialize channel records during push by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3667](https://redirect.github.com/dragonflydb/dragonfly/pull/3667) - feat(server): Support `CLIENT SETINFO` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3673](https://redirect.github.com/dragonflydb/dragonfly/pull/3673) - server logs: change script error to warning by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3670](https://redirect.github.com/dragonflydb/dragonfly/pull/3670) - fix(search_family): Fix LOAD option behavior in the FT.AGGREGATE command by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3660](https://redirect.github.com/dragonflydb/dragonfly/pull/3660) - test: unskip cluster tests and add debug info by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3681](https://redirect.github.com/dragonflydb/dragonfly/pull/3681) - chore: adjust RdbChannel sizes by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3676](https://redirect.github.com/dragonflydb/dragonfly/pull/3676) - chore: add a script that parses allocator tracking logs by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3687](https://redirect.github.com/dragonflydb/dragonfly/pull/3687) - chore: limit number of descriptors in the exec map by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3688](https://redirect.github.com/dragonflydb/dragonfly/pull/3688) - fix(server): fix replication master deadlock on cancelation flow by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3686](https://redirect.github.com/dragonflydb/dragonfly/pull/3686) - fix: join for cancel incoming migration by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3692](https://redirect.github.com/dragonflydb/dragonfly/pull/3692) - fix(json_family): Fix the JSON.SET bug if the path is in legacy mode and is not the root by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3693](https://redirect.github.com/dragonflydb/dragonfly/pull/3693) - fix: test_acl_revoke_pub_sub_while_subscribed by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3680](https://redirect.github.com/dragonflydb/dragonfly/pull/3680) - test: fix test_cluster_replication_migration by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3699](https://redirect.github.com/dragonflydb/dragonfly/pull/3699) - fix: test_replicaof_reject_on_load assert failure by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3697](https://redirect.github.com/dragonflydb/dragonfly/pull/3697) - fix(json_family) Add NOESCAPE option to the JSON.GET command by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3685](https://redirect.github.com/dragonflydb/dragonfly/pull/3685) - chore: pull latest helio by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3700](https://redirect.github.com/dragonflydb/dragonfly/pull/3700) - feat(core): Support RISCV RVV by [@​howjmay](https://redirect.github.com/howjmay) in [https://github.com/dragonflydb/dragonfly/pull/3655](https://redirect.github.com/dragonflydb/dragonfly/pull/3655) - fix: allow parsing extra spaces on acl files by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3703](https://redirect.github.com/dragonflydb/dragonfly/pull/3703) - Update dflycluster slot-migration-status reply by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3707](https://redirect.github.com/dragonflydb/dragonfly/pull/3707) - chore: add clone benchmark by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3709](https://redirect.github.com/dragonflydb/dragonfly/pull/3709) - fix: add default value has_mc_flag field by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3710](https://redirect.github.com/dragonflydb/dragonfly/pull/3710) - chore: symbolize stack traces in tests upon crash by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3714](https://redirect.github.com/dragonflydb/dragonfly/pull/3714) - fix: fix s3 load snapshot by [@​andydunstall](https://redirect.github.com/andydunstall) in [https://github.com/dragonflydb/dragonfly/pull/3717](https://redirect.github.com/dragonflydb/dragonfly/pull/3717) - fix(cluster): Do not `Pause()` replication / migrations by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3716](https://redirect.github.com/dragonflydb/dragonfly/pull/3716) - chore: add log info on failed commands by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3694](https://redirect.github.com/dragonflydb/dragonfly/pull/3694) - chore: enable ReplyGuard in ReplyBuilder2 by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3705](https://redirect.github.com/dragonflydb/dragonfly/pull/3705) - tests: fix and enable s3 snapshot test by [@​andydunstall](https://redirect.github.com/andydunstall) in [https://github.com/dragonflydb/dragonfly/pull/3720](https://redirect.github.com/dragonflydb/dragonfly/pull/3720) - fix(json_family): Fix JSON.ARRPOP command in legacy mode should not return WRONGTYPE error by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3683](https://redirect.github.com/dragonflydb/dragonfly/pull/3683) - fix(json_family): Separate double and int values during the comparison of the JSON objects by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3711](https://redirect.github.com/dragonflydb/dragonfly/pull/3711) - fix: Fix test `test_client_pause_with_replica` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3729](https://redirect.github.com/dragonflydb/dragonfly/pull/3729) - fix: Fix `cluster_mgr.py` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3730](https://redirect.github.com/dragonflydb/dragonfly/pull/3730) - fix: Fix `test_take_over_seeder` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3733](https://redirect.github.com/dragonflydb/dragonfly/pull/3733) - chore: Remove ReqSerializer by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3721](https://redirect.github.com/dragonflydb/dragonfly/pull/3721) - fix(json_family): Fix out of bound ranges for the JSON.ARR\* commands by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3712](https://redirect.github.com/dragonflydb/dragonfly/pull/3712) - fix: properly track json memory usage by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3641](https://redirect.github.com/dragonflydb/dragonfly/pull/3641) - test: add tests for replication by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3734](https://redirect.github.com/dragonflydb/dragonfly/pull/3734) - test: unskip test for debugging purpose by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3738](https://redirect.github.com/dragonflydb/dragonfly/pull/3738) - refactor: use CmdArgParser for XGROUP command by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3739](https://redirect.github.com/dragonflydb/dragonfly/pull/3739) - test: add test for replication deadlock on replication timeout by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3691](https://redirect.github.com/dragonflydb/dragonfly/pull/3691) - chore: Switch ports for `cluster_mgr_test.py` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3741](https://redirect.github.com/dragonflydb/dragonfly/pull/3741) - chore: change log level to warning for empty keys by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3722](https://redirect.github.com/dragonflydb/dragonfly/pull/3722) - chore: add SetReplies by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3727](https://redirect.github.com/dragonflydb/dragonfly/pull/3727) - chore: introduce a Clone function for the dense set by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3740](https://redirect.github.com/dragonflydb/dragonfly/pull/3740) - chore: add missing await in test_take_over_seeder by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3744](https://redirect.github.com/dragonflydb/dragonfly/pull/3744) - fix: allow the healthcheck run in non-privileged containers as well by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3731](https://redirect.github.com/dragonflydb/dragonfly/pull/3731) - fix: add value range check for SETBIT command by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3750](https://redirect.github.com/dragonflydb/dragonfly/pull/3750) - fix: zset store conclude transaction on error by [@​andydunstall](https://redirect.github.com/andydunstall) in [https://github.com/dragonflydb/dragonfly/pull/3755](https://redirect.github.com/dragonflydb/dragonfly/pull/3755) - chore: refactor a lambda function into a named one by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3753](https://redirect.github.com/dragonflydb/dragonfly/pull/3753) - chore: fix return on bad status by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3758](https://redirect.github.com/dragonflydb/dragonfly/pull/3758) - feat(helm): add hostNetwork, topologySpreadConstraint and clusterIP su… by [@​katapultcloud](https://redirect.github.com/katapultcloud) in [https://github.com/dragonflydb/dragonfly/pull/3389](https://redirect.github.com/dragonflydb/dragonfly/pull/3389) - feat(server): introduce oom_deny_commands flag by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3718](https://redirect.github.com/dragonflydb/dragonfly/pull/3718) - feat(server): introduce rss oom limit by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3702](https://redirect.github.com/dragonflydb/dragonfly/pull/3702) - fix: test deadlock with processing the stdout of sed by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3735](https://redirect.github.com/dragonflydb/dragonfly/pull/3735) - chore: add integrity checks to consumer->pel by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3754](https://redirect.github.com/dragonflydb/dragonfly/pull/3754) - fix: make snapshotting process more responsive by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3759](https://redirect.github.com/dragonflydb/dragonfly/pull/3759) - fix: tune test_replicaof_reject_on_load parameters by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3762](https://redirect.github.com/dragonflydb/dragonfly/pull/3762) - chore: logs on assert fail for test_acl_cat_commands_multi_exec_squash by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3749](https://redirect.github.com/dragonflydb/dragonfly/pull/3749) - chore: add more error logs around ziplist parsing checks by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3764](https://redirect.github.com/dragonflydb/dragonfly/pull/3764) - fix: substr/getrange result for invalid range by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3766](https://redirect.github.com/dragonflydb/dragonfly/pull/3766) - feat(zset_family): add ZRANGESTORE by [@​andydunstall](https://redirect.github.com/andydunstall) in [https://github.com/dragonflydb/dragonfly/pull/3757](https://redirect.github.com/dragonflydb/dragonfly/pull/3757) - fix server: fix last error reply by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3728](https://redirect.github.com/dragonflydb/dragonfly/pull/3728) - chore: give up on InlinedVector due to spurious warnings with optional by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3765](https://redirect.github.com/dragonflydb/dragonfly/pull/3765) - fix: mark pubusb commands as unsupported for cluster by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3767](https://redirect.github.com/dragonflydb/dragonfly/pull/3767) - chore: some renames + fix a typo in RETURN_ON_BAD_STATUS by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3763](https://redirect.github.com/dragonflydb/dragonfly/pull/3763) - fix: setrange with empty value doesn't modify the DB by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3771](https://redirect.github.com/dragonflydb/dragonfly/pull/3771) ##### New Contributors - [@​howjmay](https://redirect.github.com/howjmay) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/3655](https://redirect.github.com/dragonflydb/dragonfly/pull/3655) - [@​katapultcloud](https://redirect.github.com/katapultcloud) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/3389](https://redirect.github.com/dragonflydb/dragonfly/pull/3389) ##### Huge thanks to all the contributors! ❤️ **Full Changelog**: dragonflydb/dragonfly@v1.22.0...v1.23.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC45NC4zIiwidXBkYXRlZEluVmVyIjoiMzguOTQuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9taW5vciJdfQ==-->