-
Notifications
You must be signed in to change notification settings - Fork 968
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
feat(json_family): Add support of the JSON legacy mode #3284
feat(json_family): Add support of the JSON legacy mode #3284
Conversation
a2b6847
to
6f41d97
Compare
6f41d97
to
f56c368
Compare
Please do not review this pr, as 2 pr has not been merged yet |
f35d391
to
9d39e3e
Compare
625ca1a
to
f180277
Compare
fixes dragonflydb#2959 Signed-off-by: Stepan Bagritsevich <[email protected]>
f180277
to
390644d
Compare
390644d
to
d719fa5
Compare
Signed-off-by: Stepan Bagritsevich <[email protected]>
d719fa5
to
03411b0
Compare
src/server/json_family.cc
Outdated
template <typename T> | ||
typename std::enable_if_t<!is_optional<T>::value, OpResult<JsonCallbackResult<T>>> | ||
ReturnWrongTypeOnNullOpt(JsonCallbackResult<T> result) { | ||
return result; | ||
} | ||
|
||
template <typename T> | ||
typename std::enable_if_t<is_optional<T>::value, OpResult<JsonCallbackResult<T>>> | ||
ReturnWrongTypeOnNullOpt(JsonCallbackResult<T> result) { | ||
if (result.IsV1()) { | ||
auto& as_v1 = result.AsV1(); | ||
if (!as_v1 || !as_v1.value()) { | ||
return OpStatus::WRONG_JSON_TYPE; | ||
} | ||
} | ||
return result; | ||
} |
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.
Heavy artillery, once you have is_optional you can use if constexpr again 🙂
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.
yes, I've thought about it. But this code is repeated twice in JsonEvaluateOperation
and UpdateEntry
, so why not to implement it as a function?
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.
Oh, didn't notice, at least it'd help to reduce typing noise in one function, but it's not relevant
Signed-off-by: Stepan Bagritsevich <[email protected]>
Signed-off-by: Stepan Bagritsevich <[email protected]>
…22.0 ) (#5336) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/dragonflydb/dragonfly](https://redirect.github.com/dragonflydb/dragonfly) | minor | `v1.21.4` -> `v1.22.0` | --- ### Release Notes <details> <summary>dragonflydb/dragonfly (ghcr.io/dragonflydb/dragonfly)</summary> ### [`v1.22.0`](https://redirect.github.com/dragonflydb/dragonfly/releases/tag/v1.22.0) [Compare Source](https://redirect.github.com/dragonflydb/dragonfly/compare/v1.21.4...v1.22.0) ##### Dragonfly v1.22.0 Some prominent changes include: - Lots of stability fixes around JSON and Search APIS: [#​3459](https://redirect.github.com/dragonflydb/dragonfly/issues/3459), [#​3284](https://redirect.github.com/dragonflydb/dragonfly/issues/3284), [#​3537](https://redirect.github.com/dragonflydb/dragonfly/issues/3537), [#​3544](https://redirect.github.com/dragonflydb/dragonfly/issues/3544),[#​3580](https://redirect.github.com/dragonflydb/dragonfly/issues/3580), [#​3582](https://redirect.github.com/dragonflydb/dragonfly/issues/3582), [#​3578](https://redirect.github.com/dragonflydb/dragonfly/issues/3578), [#​3591](https://redirect.github.com/dragonflydb/dragonfly/issues/3591), [#​3597](https://redirect.github.com/dragonflydb/dragonfly/issues/3597), [#​3539](https://redirect.github.com/dragonflydb/dragonfly/issues/3539) - Support `HELLO AUTH` handshake: [#​3486](https://redirect.github.com/dragonflydb/dragonfly/issues/3486) - Implement FT.TAGVALS: [#​3493](https://redirect.github.com/dragonflydb/dragonfly/issues/3493) - Introduce Dragonfly specific lua pragmas: [#​3517](https://redirect.github.com/dragonflydb/dragonfly/issues/3517) - Memcache now replicates flags correctly: [#​3538](https://redirect.github.com/dragonflydb/dragonfly/issues/3538) - Memcache API now supports absolute timestamps as well: [#​3607](https://redirect.github.com/dragonflydb/dragonfly/issues/3607) - PEXPIRETIME and EXPIRETIME are implemented by [@​Eunoia1729](https://redirect.github.com/Eunoia1729) - thank you! - Last but not least, a significant contribution by [@​cunla](https://redirect.github.com/cunla): a massive test suite, likely the largest in Dragonfly's history, with 12K lines of code. This contribution has sparked further efforts to enhance Dragonfly's compatibility and stability. The initial results are included in this release. ##### What's Changed - fix: missing logs on ci timeout by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3452](https://redirect.github.com/dragonflydb/dragonfly/pull/3452) - fix: JSON.MSET command by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3459](https://redirect.github.com/dragonflydb/dragonfly/pull/3459) - chore: integrate quicklist changes from valkey by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3440](https://redirect.github.com/dragonflydb/dragonfly/pull/3440) - feat(json_family): Add support of the JSON legacy mode by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3284](https://redirect.github.com/dragonflydb/dragonfly/pull/3284) - fix: pytest teardown exception in os.remove(LAST_LOGS) by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3463](https://redirect.github.com/dragonflydb/dragonfly/pull/3463) - chore: change how we track memory_budget during evictions by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3457](https://redirect.github.com/dragonflydb/dragonfly/pull/3457) - chore: add timeout to replication sockets by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3434](https://redirect.github.com/dragonflydb/dragonfly/pull/3434) - chore(server): Remove old blocking debug by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3460](https://redirect.github.com/dragonflydb/dragonfly/pull/3460) - chore: SinkReplyBuilder2 with vec batching by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3454](https://redirect.github.com/dragonflydb/dragonfly/pull/3454) - feat: Allow pre-declaring Lua SHAs to run with undeclared keys by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3465](https://redirect.github.com/dragonflydb/dragonfly/pull/3465) - chore(server): Use parser more in list_family by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3461](https://redirect.github.com/dragonflydb/dragonfly/pull/3461) - fix: Make replica's `REPLCONF IP-ADDRESS` optional by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3473](https://redirect.github.com/dragonflydb/dragonfly/pull/3473) - chore: make tiered_test more reliable by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3477](https://redirect.github.com/dragonflydb/dragonfly/pull/3477) - chore(facade): Update SinkReplyBuilder2 by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3474](https://redirect.github.com/dragonflydb/dragonfly/pull/3474) - refactor: set info_replication_valkey_compatible=true by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3467](https://redirect.github.com/dragonflydb/dragonfly/pull/3467) - chore: relax the version check in test_replicate_old_master by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3478](https://redirect.github.com/dragonflydb/dragonfly/pull/3478) - chore: Download Dragonfly versions only when needed by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3479](https://redirect.github.com/dragonflydb/dragonfly/pull/3479) - fix: division by zero bug by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3482](https://redirect.github.com/dragonflydb/dragonfly/pull/3482) - test: fix test_scripts by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3485](https://redirect.github.com/dragonflydb/dragonfly/pull/3485) - chore(facade): RedisReplyBuilder2 base by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3475](https://redirect.github.com/dragonflydb/dragonfly/pull/3475) - chore(facade): MCReplyBuilder2 by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3480](https://redirect.github.com/dragonflydb/dragonfly/pull/3480) - chore(facade): RedisReplyBuilder2 (extensions) by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3481](https://redirect.github.com/dragonflydb/dragonfly/pull/3481) - fix: big value serialization corner cases by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3430](https://redirect.github.com/dragonflydb/dragonfly/pull/3430) - fix: HELLO AUTH with non default user by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3486](https://redirect.github.com/dragonflydb/dragonfly/pull/3486) - fix: flake in teardown of test_unknown_dfly_env by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3487](https://redirect.github.com/dragonflydb/dragonfly/pull/3487) - fix: test_replicate_old_master missing serialization_max_chunk_size by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3498](https://redirect.github.com/dragonflydb/dragonfly/pull/3498) - chore: add logs to debug tiered memory failures by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3499](https://redirect.github.com/dragonflydb/dragonfly/pull/3499) - feat: implement FT.TAGVALS by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3493](https://redirect.github.com/dragonflydb/dragonfly/pull/3493) - test: fix test_acl_deluser by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3488](https://redirect.github.com/dragonflydb/dragonfly/pull/3488) - fix: sanitizers post failure on google chat by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3496](https://redirect.github.com/dragonflydb/dragonfly/pull/3496) - chore(generic_family): Fix bad data format error in the RESTORE command by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3501](https://redirect.github.com/dragonflydb/dragonfly/pull/3501) - fix: sanitizers false positives by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3495](https://redirect.github.com/dragonflydb/dragonfly/pull/3495) - feat: Expose replica_reconnect_count for Prometheus metrics by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3370](https://redirect.github.com/dragonflydb/dragonfly/pull/3370) - fix: pytest warnings by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3497](https://redirect.github.com/dragonflydb/dragonfly/pull/3497) - fix: missing virtual destructors in ReplyBuilder2 by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3506](https://redirect.github.com/dragonflydb/dragonfly/pull/3506) - chore: split engine_shard file from engine_shard_set by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3507](https://redirect.github.com/dragonflydb/dragonfly/pull/3507) - chore: introduce a secondary TaskQueue for shards by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3508](https://redirect.github.com/dragonflydb/dragonfly/pull/3508) - fix: clang warnings by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3509](https://redirect.github.com/dragonflydb/dragonfly/pull/3509) - chore: reduce pipelining latency by reusing existing shard fibers by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3494](https://redirect.github.com/dragonflydb/dragonfly/pull/3494) - fix: bugs around the growth of a tiered file by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3516](https://redirect.github.com/dragonflydb/dragonfly/pull/3516) - chore: Change Lua embedded flags syntax by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3517](https://redirect.github.com/dragonflydb/dragonfly/pull/3517) - feat(cluster): Allow appending RDB to existing store by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3505](https://redirect.github.com/dragonflydb/dragonfly/pull/3505) - fix: disable ThreadLocalMutex when big value ser is off by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3521](https://redirect.github.com/dragonflydb/dragonfly/pull/3521) - chore(io): Introduce (carefully) new io with use_new_io flag by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3513](https://redirect.github.com/dragonflydb/dragonfly/pull/3513) - chore(io): Optimize repeated ReservePiece calls by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3525](https://redirect.github.com/dragonflydb/dragonfly/pull/3525) - fix: disable sanitizers false positive by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3522](https://redirect.github.com/dragonflydb/dragonfly/pull/3522) - chore(config): make pipeline_squash configurable by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3529](https://redirect.github.com/dragonflydb/dragonfly/pull/3529) - chore(traffic loger): use pipelining and print/analyze commands by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3527](https://redirect.github.com/dragonflydb/dragonfly/pull/3527) - fix: skip empty objects on load and replication by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3514](https://redirect.github.com/dragonflydb/dragonfly/pull/3514) - fix: deadlock in Heartbeat() by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3530](https://redirect.github.com/dragonflydb/dragonfly/pull/3530) - fix(search_family): Add error on creating indexes from non-zero databases by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3537](https://redirect.github.com/dragonflydb/dragonfly/pull/3537) - fix: macos build by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3536](https://redirect.github.com/dragonflydb/dragonfly/pull/3536) - fix: MC flags size and serialization [#​3134](https://redirect.github.com/dragonflydb/dragonfly/issues/3134) by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3538](https://redirect.github.com/dragonflydb/dragonfly/pull/3538) - fix(transaction): Don't set continuation for blocking by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3540](https://redirect.github.com/dragonflydb/dragonfly/pull/3540) - fix: named volume permissions in docker by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3518](https://redirect.github.com/dragonflydb/dragonfly/pull/3518) - fix(jsonpath): Add JsonPath grammar for the child identifier in brackets by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3533](https://redirect.github.com/dragonflydb/dragonfly/pull/3533) - fix: build errors in sanitizers daily workflow by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3542](https://redirect.github.com/dragonflydb/dragonfly/pull/3542) - test: tests using fakeredis to check compatibility by [@​cunla](https://redirect.github.com/cunla) in [https://github.com/dragonflydb/dragonfly/pull/3534](https://redirect.github.com/dragonflydb/dragonfly/pull/3534) - chore: fix search replication by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3547](https://redirect.github.com/dragonflydb/dragonfly/pull/3547) - chore: add deallocation logs in the allocation tracker by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3549](https://redirect.github.com/dragonflydb/dragonfly/pull/3549) - fix: fakeredis tests support python 3.10 by [@​cunla](https://redirect.github.com/cunla) in [https://github.com/dragonflydb/dragonfly/pull/3550](https://redirect.github.com/dragonflydb/dragonfly/pull/3550) - feat(server_family): Add backup/restore Prometheus metrics by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3520](https://redirect.github.com/dragonflydb/dragonfly/pull/3520) - docs: Fakeredis tests README by [@​cunla](https://redirect.github.com/cunla) in [https://github.com/dragonflydb/dragonfly/pull/3552](https://redirect.github.com/dragonflydb/dragonfly/pull/3552) - fix: zinterstore correctly finds weights by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3554](https://redirect.github.com/dragonflydb/dragonfly/pull/3554) - fix(search_family): Fix query parsing for the integer tags in OR expression by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3544](https://redirect.github.com/dragonflydb/dragonfly/pull/3544) - chore(server): Fix watch by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3557](https://redirect.github.com/dragonflydb/dragonfly/pull/3557) - chore(search): fix numeric index query in rev order by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3555](https://redirect.github.com/dragonflydb/dragonfly/pull/3555) - chore: allow limiting pipelining queue by length by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3551](https://redirect.github.com/dragonflydb/dragonfly/pull/3551) - fix: add unsupported_server_types to fakeredis tests by [@​cunla](https://redirect.github.com/cunla) in [https://github.com/dragonflydb/dragonfly/pull/3560](https://redirect.github.com/dragonflydb/dragonfly/pull/3560) - fix: string compatibility issues by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3564](https://redirect.github.com/dragonflydb/dragonfly/pull/3564) - fix(server): Fix ZRANGEBYLEX limit params by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3562](https://redirect.github.com/dragonflydb/dragonfly/pull/3562) - fix: compatibility around list and string commands by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3565](https://redirect.github.com/dragonflydb/dragonfly/pull/3565) - chore(server): Unify zset arg parsing by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3563](https://redirect.github.com/dragonflydb/dragonfly/pull/3563) - fix: compatibility around list,string and sort commands by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3568](https://redirect.github.com/dragonflydb/dragonfly/pull/3568) - chore(server): Sort correctly in ZINTER by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3566](https://redirect.github.com/dragonflydb/dragonfly/pull/3566) - chore(server): Unify zset boolean operations into single function by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3567](https://redirect.github.com/dragonflydb/dragonfly/pull/3567) - chore(transaction): More blocking tests by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3546](https://redirect.github.com/dragonflydb/dragonfly/pull/3546) - fix: delete empty dense sets in HGetGeneric by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3543](https://redirect.github.com/dragonflydb/dragonfly/pull/3543) - chore(search): Silence query parser error by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3570](https://redirect.github.com/dragonflydb/dragonfly/pull/3570) - chore: improve compatibility of set and ping commands by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3569](https://redirect.github.com/dragonflydb/dragonfly/pull/3569) - fix: disable failing test_cron_snapshot_failed_saving by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3571](https://redirect.github.com/dragonflydb/dragonfly/pull/3571) - fix: disable test_cluster_flushall_during_migration by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3573](https://redirect.github.com/dragonflydb/dragonfly/pull/3573) - chore: add -Wthread-analysis and annotate (part 1/2) by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3502](https://redirect.github.com/dragonflydb/dragonfly/pull/3502) - feat(generic_family): Implement EXPIRETIME and PEXPIRETIME commands by [@​Eunoia1729](https://redirect.github.com/Eunoia1729) in [https://github.com/dragonflydb/dragonfly/pull/3524](https://redirect.github.com/dragonflydb/dragonfly/pull/3524) - chore: allow running dragonfly pytests in repeat by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3577](https://redirect.github.com/dragonflydb/dragonfly/pull/3577) - fix(json_family): Fix json get crash due to an invalid json path by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3580](https://redirect.github.com/dragonflydb/dragonfly/pull/3580) - fix(json_family): Fix JSON.GET crash for the multiple legacy mode paths by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3582](https://redirect.github.com/dragonflydb/dragonfly/pull/3582) - fix: return an error when invalid number of arguments is passed. by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3584](https://redirect.github.com/dragonflydb/dragonfly/pull/3584) - feat: add oom_deny_ratio to mutable config by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3585](https://redirect.github.com/dragonflydb/dragonfly/pull/3585) - fix: warning as error on sanitizers build by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3587](https://redirect.github.com/dragonflydb/dragonfly/pull/3587) - feat: add escaping symbols for tag search by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3578](https://redirect.github.com/dragonflydb/dragonfly/pull/3578) - fix: skip test_replica_reconnections_after_network_disconnect by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3589](https://redirect.github.com/dragonflydb/dragonfly/pull/3589) - docs(readme): Fix data mistake by [@​DerickIT](https://redirect.github.com/DerickIT) in [https://github.com/dragonflydb/dragonfly/pull/3590](https://redirect.github.com/dragonflydb/dragonfly/pull/3590) - chore: remove DflyVersion::VER0 by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3593](https://redirect.github.com/dragonflydb/dragonfly/pull/3593) - refactor: remove double conversion from str to number to str in search by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3591](https://redirect.github.com/dragonflydb/dragonfly/pull/3591) - chore(deps): bump aiohttp from 3.8.4 to 3.10.2 in /tests/dragonfly by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/dragonflydb/dragonfly/pull/3600](https://redirect.github.com/dragonflydb/dragonfly/pull/3600) - refactor: remove toUpper() from cmd_arg_parser by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3599](https://redirect.github.com/dragonflydb/dragonfly/pull/3599) - fix: JSON.STRAPPEND by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3597](https://redirect.github.com/dragonflydb/dragonfly/pull/3597) - chore(deps): bump golang.org/x/net from 0.7.0 to 0.23.0 in /contrib/charts/dragonfly by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/dragonflydb/dragonfly/pull/3601](https://redirect.github.com/dragonflydb/dragonfly/pull/3601) - chore(deps): bump gopkg.in/yaml.v3 from 3.0.0-20210107192922-496545a6307b to 3.0.0 in /tools/replay by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/dragonflydb/dragonfly/pull/3603](https://redirect.github.com/dragonflydb/dragonfly/pull/3603) - chore(deps): bump google.golang.org/protobuf from 1.26.0 to 1.33.0 in /contrib/charts/dragonfly by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/dragonflydb/dragonfly/pull/3604](https://redirect.github.com/dragonflydb/dragonfly/pull/3604) - fix: xreadgroup replies as a map for RESP3 by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3576](https://redirect.github.com/dragonflydb/dragonfly/pull/3576) - chore: enable experimental_new_io by default. by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3605](https://redirect.github.com/dragonflydb/dragonfly/pull/3605) - fix(server_family): Remove search indexes during the FLUSHALL command by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3539](https://redirect.github.com/dragonflydb/dragonfly/pull/3539) - feat(acl): add pub/sub by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3574](https://redirect.github.com/dragonflydb/dragonfly/pull/3574) - chore: enable -Werror=thread-safety and add missing annotations (part 2/2) by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3595](https://redirect.github.com/dragonflydb/dragonfly/pull/3595) - feat: add slave_repl_offset to the replication section. by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3596](https://redirect.github.com/dragonflydb/dragonfly/pull/3596) - fix(json_family): Fix JsonFromString method by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3602](https://redirect.github.com/dragonflydb/dragonfly/pull/3602) - fix(grafana): Fix grafana dragonfly dashboard datasource by [@​applike-ss](https://redirect.github.com/applike-ss) in [https://github.com/dragonflydb/dragonfly/pull/3608](https://redirect.github.com/dragonflydb/dragonfly/pull/3608) - fix: debug crash inside parsing of ZRANGE by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3611](https://redirect.github.com/dragonflydb/dragonfly/pull/3611) - chore: run fakeredis flow with the debug build by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3612](https://redirect.github.com/dragonflydb/dragonfly/pull/3612) - chore: Split `--cluster_announce_ip` and `--replica_announce_ip` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3615](https://redirect.github.com/dragonflydb/dragonfly/pull/3615) - fix: fix expiration processing for set command by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3607](https://redirect.github.com/dragonflydb/dragonfly/pull/3607) - fix pytest: use generic random dbfilename in tests by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3617](https://redirect.github.com/dragonflydb/dragonfly/pull/3617) - fix(bug): zinter command should run on replica by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3620](https://redirect.github.com/dragonflydb/dragonfly/pull/3620) - fix(test_auth_resp3\_bug): release build failing by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3621](https://redirect.github.com/dragonflydb/dragonfly/pull/3621) - chore: improve debug logs in dragonfly_connection by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3624](https://redirect.github.com/dragonflydb/dragonfly/pull/3624) - fix: edge cases around mismatched path in json code by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3609](https://redirect.github.com/dragonflydb/dragonfly/pull/3609) - test: fix search tests by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3625](https://redirect.github.com/dragonflydb/dragonfly/pull/3625) - refactor: remove extra code from CmdArgParser by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3619](https://redirect.github.com/dragonflydb/dragonfly/pull/3619) - fix: limit parsing in zrange commands by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3626](https://redirect.github.com/dragonflydb/dragonfly/pull/3626) - chore: disable big value ser on reg tests by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3629](https://redirect.github.com/dragonflydb/dragonfly/pull/3629) - fix: crash when passing empty arguments by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3627](https://redirect.github.com/dragonflydb/dragonfly/pull/3627) - fix: 'renamenx foo foo' should return 0 if foo exists by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3630](https://redirect.github.com/dragonflydb/dragonfly/pull/3630) - fix: debug help printed layout by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3635](https://redirect.github.com/dragonflydb/dragonfly/pull/3635) - fix: crash during SORT DESC call by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3637](https://redirect.github.com/dragonflydb/dragonfly/pull/3637) ##### New Contributors - [@​cunla](https://redirect.github.com/cunla) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/3534](https://redirect.github.com/dragonflydb/dragonfly/pull/3534) - [@​Eunoia1729](https://redirect.github.com/Eunoia1729) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/3524](https://redirect.github.com/dragonflydb/dragonfly/pull/3524) - [@​DerickIT](https://redirect.github.com/DerickIT) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/3590](https://redirect.github.com/dragonflydb/dragonfly/pull/3590) - [@​applike-ss](https://redirect.github.com/applike-ss) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/3608](https://redirect.github.com/dragonflydb/dragonfly/pull/3608) **Full Changelog**: dragonflydb/dragonfly@v1.21.0...v1.22.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:eyJjcmVhdGVkSW5WZXIiOiIzOC42NC4yIiwidXBkYXRlZEluVmVyIjoiMzguNjQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9taW5vciJdfQ==--> Co-authored-by: lumiere-bot[bot] <98047013+lumiere-bot[bot]@users.noreply.github.com>
#945) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/dragonflydb/dragonfly](https://redirect.github.com/dragonflydb/dragonfly) | minor | `v1.21.4` -> `v1.22.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.22.0`](https://redirect.github.com/dragonflydb/dragonfly/releases/tag/v1.22.0) [Compare Source](https://redirect.github.com/dragonflydb/dragonfly/compare/v1.21.4...v1.22.0) ##### Dragonfly v1.22.0 Some prominent changes include: - Lots of stability fixes around JSON and Search APIS: [#​3459](https://redirect.github.com/dragonflydb/dragonfly/issues/3459), [#​3284](https://redirect.github.com/dragonflydb/dragonfly/issues/3284), [#​3537](https://redirect.github.com/dragonflydb/dragonfly/issues/3537), [#​3544](https://redirect.github.com/dragonflydb/dragonfly/issues/3544),[#​3580](https://redirect.github.com/dragonflydb/dragonfly/issues/3580), [#​3582](https://redirect.github.com/dragonflydb/dragonfly/issues/3582), [#​3578](https://redirect.github.com/dragonflydb/dragonfly/issues/3578), [#​3591](https://redirect.github.com/dragonflydb/dragonfly/issues/3591), [#​3597](https://redirect.github.com/dragonflydb/dragonfly/issues/3597), [#​3539](https://redirect.github.com/dragonflydb/dragonfly/issues/3539) - Support `HELLO AUTH` handshake: [#​3486](https://redirect.github.com/dragonflydb/dragonfly/issues/3486) - Implement FT.TAGVALS: [#​3493](https://redirect.github.com/dragonflydb/dragonfly/issues/3493) - Introduce Dragonfly specific lua pragmas: [#​3517](https://redirect.github.com/dragonflydb/dragonfly/issues/3517) - Memcache now replicates flags correctly: [#​3538](https://redirect.github.com/dragonflydb/dragonfly/issues/3538) - Memcache API now supports absolute timestamps as well: [#​3607](https://redirect.github.com/dragonflydb/dragonfly/issues/3607) - PEXPIRETIME and EXPIRETIME are implemented by [@​Eunoia1729](https://redirect.github.com/Eunoia1729) - thank you! - Last but not least, a significant contribution by [@​cunla](https://redirect.github.com/cunla): a massive test suite, likely the largest in Dragonfly's history, with 12K lines of code. This contribution has sparked further efforts to enhance Dragonfly's compatibility and stability. The initial results are included in this release. ##### What's Changed - fix: missing logs on ci timeout by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3452](https://redirect.github.com/dragonflydb/dragonfly/pull/3452) - fix: JSON.MSET command by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3459](https://redirect.github.com/dragonflydb/dragonfly/pull/3459) - chore: integrate quicklist changes from valkey by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3440](https://redirect.github.com/dragonflydb/dragonfly/pull/3440) - feat(json_family): Add support of the JSON legacy mode by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3284](https://redirect.github.com/dragonflydb/dragonfly/pull/3284) - fix: pytest teardown exception in os.remove(LAST_LOGS) by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3463](https://redirect.github.com/dragonflydb/dragonfly/pull/3463) - chore: change how we track memory_budget during evictions by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3457](https://redirect.github.com/dragonflydb/dragonfly/pull/3457) - chore: add timeout to replication sockets by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3434](https://redirect.github.com/dragonflydb/dragonfly/pull/3434) - chore(server): Remove old blocking debug by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3460](https://redirect.github.com/dragonflydb/dragonfly/pull/3460) - chore: SinkReplyBuilder2 with vec batching by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3454](https://redirect.github.com/dragonflydb/dragonfly/pull/3454) - feat: Allow pre-declaring Lua SHAs to run with undeclared keys by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3465](https://redirect.github.com/dragonflydb/dragonfly/pull/3465) - chore(server): Use parser more in list_family by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3461](https://redirect.github.com/dragonflydb/dragonfly/pull/3461) - fix: Make replica's `REPLCONF IP-ADDRESS` optional by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3473](https://redirect.github.com/dragonflydb/dragonfly/pull/3473) - chore: make tiered_test more reliable by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3477](https://redirect.github.com/dragonflydb/dragonfly/pull/3477) - chore(facade): Update SinkReplyBuilder2 by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3474](https://redirect.github.com/dragonflydb/dragonfly/pull/3474) - refactor: set info_replication_valkey_compatible=true by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3467](https://redirect.github.com/dragonflydb/dragonfly/pull/3467) - chore: relax the version check in test_replicate_old_master by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3478](https://redirect.github.com/dragonflydb/dragonfly/pull/3478) - chore: Download Dragonfly versions only when needed by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3479](https://redirect.github.com/dragonflydb/dragonfly/pull/3479) - fix: division by zero bug by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3482](https://redirect.github.com/dragonflydb/dragonfly/pull/3482) - test: fix test_scripts by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3485](https://redirect.github.com/dragonflydb/dragonfly/pull/3485) - chore(facade): RedisReplyBuilder2 base by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3475](https://redirect.github.com/dragonflydb/dragonfly/pull/3475) - chore(facade): MCReplyBuilder2 by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3480](https://redirect.github.com/dragonflydb/dragonfly/pull/3480) - chore(facade): RedisReplyBuilder2 (extensions) by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3481](https://redirect.github.com/dragonflydb/dragonfly/pull/3481) - fix: big value serialization corner cases by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3430](https://redirect.github.com/dragonflydb/dragonfly/pull/3430) - fix: HELLO AUTH with non default user by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3486](https://redirect.github.com/dragonflydb/dragonfly/pull/3486) - fix: flake in teardown of test_unknown_dfly_env by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3487](https://redirect.github.com/dragonflydb/dragonfly/pull/3487) - fix: test_replicate_old_master missing serialization_max_chunk_size by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3498](https://redirect.github.com/dragonflydb/dragonfly/pull/3498) - chore: add logs to debug tiered memory failures by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3499](https://redirect.github.com/dragonflydb/dragonfly/pull/3499) - feat: implement FT.TAGVALS by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3493](https://redirect.github.com/dragonflydb/dragonfly/pull/3493) - test: fix test_acl_deluser by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3488](https://redirect.github.com/dragonflydb/dragonfly/pull/3488) - fix: sanitizers post failure on google chat by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3496](https://redirect.github.com/dragonflydb/dragonfly/pull/3496) - chore(generic_family): Fix bad data format error in the RESTORE command by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3501](https://redirect.github.com/dragonflydb/dragonfly/pull/3501) - fix: sanitizers false positives by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3495](https://redirect.github.com/dragonflydb/dragonfly/pull/3495) - feat: Expose replica_reconnect_count for Prometheus metrics by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3370](https://redirect.github.com/dragonflydb/dragonfly/pull/3370) - fix: pytest warnings by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3497](https://redirect.github.com/dragonflydb/dragonfly/pull/3497) - fix: missing virtual destructors in ReplyBuilder2 by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3506](https://redirect.github.com/dragonflydb/dragonfly/pull/3506) - chore: split engine_shard file from engine_shard_set by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3507](https://redirect.github.com/dragonflydb/dragonfly/pull/3507) - chore: introduce a secondary TaskQueue for shards by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3508](https://redirect.github.com/dragonflydb/dragonfly/pull/3508) - fix: clang warnings by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3509](https://redirect.github.com/dragonflydb/dragonfly/pull/3509) - chore: reduce pipelining latency by reusing existing shard fibers by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3494](https://redirect.github.com/dragonflydb/dragonfly/pull/3494) - fix: bugs around the growth of a tiered file by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3516](https://redirect.github.com/dragonflydb/dragonfly/pull/3516) - chore: Change Lua embedded flags syntax by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3517](https://redirect.github.com/dragonflydb/dragonfly/pull/3517) - feat(cluster): Allow appending RDB to existing store by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3505](https://redirect.github.com/dragonflydb/dragonfly/pull/3505) - fix: disable ThreadLocalMutex when big value ser is off by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3521](https://redirect.github.com/dragonflydb/dragonfly/pull/3521) - chore(io): Introduce (carefully) new io with use_new_io flag by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3513](https://redirect.github.com/dragonflydb/dragonfly/pull/3513) - chore(io): Optimize repeated ReservePiece calls by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3525](https://redirect.github.com/dragonflydb/dragonfly/pull/3525) - fix: disable sanitizers false positive by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3522](https://redirect.github.com/dragonflydb/dragonfly/pull/3522) - chore(config): make pipeline_squash configurable by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3529](https://redirect.github.com/dragonflydb/dragonfly/pull/3529) - chore(traffic loger): use pipelining and print/analyze commands by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3527](https://redirect.github.com/dragonflydb/dragonfly/pull/3527) - fix: skip empty objects on load and replication by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3514](https://redirect.github.com/dragonflydb/dragonfly/pull/3514) - fix: deadlock in Heartbeat() by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3530](https://redirect.github.com/dragonflydb/dragonfly/pull/3530) - fix(search_family): Add error on creating indexes from non-zero databases by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3537](https://redirect.github.com/dragonflydb/dragonfly/pull/3537) - fix: macos build by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3536](https://redirect.github.com/dragonflydb/dragonfly/pull/3536) - fix: MC flags size and serialization [#​3134](https://redirect.github.com/dragonflydb/dragonfly/issues/3134) by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3538](https://redirect.github.com/dragonflydb/dragonfly/pull/3538) - fix(transaction): Don't set continuation for blocking by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3540](https://redirect.github.com/dragonflydb/dragonfly/pull/3540) - fix: named volume permissions in docker by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3518](https://redirect.github.com/dragonflydb/dragonfly/pull/3518) - fix(jsonpath): Add JsonPath grammar for the child identifier in brackets by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3533](https://redirect.github.com/dragonflydb/dragonfly/pull/3533) - fix: build errors in sanitizers daily workflow by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3542](https://redirect.github.com/dragonflydb/dragonfly/pull/3542) - test: tests using fakeredis to check compatibility by [@​cunla](https://redirect.github.com/cunla) in [https://github.com/dragonflydb/dragonfly/pull/3534](https://redirect.github.com/dragonflydb/dragonfly/pull/3534) - chore: fix search replication by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3547](https://redirect.github.com/dragonflydb/dragonfly/pull/3547) - chore: add deallocation logs in the allocation tracker by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3549](https://redirect.github.com/dragonflydb/dragonfly/pull/3549) - fix: fakeredis tests support python 3.10 by [@​cunla](https://redirect.github.com/cunla) in [https://github.com/dragonflydb/dragonfly/pull/3550](https://redirect.github.com/dragonflydb/dragonfly/pull/3550) - feat(server_family): Add backup/restore Prometheus metrics by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3520](https://redirect.github.com/dragonflydb/dragonfly/pull/3520) - docs: Fakeredis tests README by [@​cunla](https://redirect.github.com/cunla) in [https://github.com/dragonflydb/dragonfly/pull/3552](https://redirect.github.com/dragonflydb/dragonfly/pull/3552) - fix: zinterstore correctly finds weights by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3554](https://redirect.github.com/dragonflydb/dragonfly/pull/3554) - fix(search_family): Fix query parsing for the integer tags in OR expression by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3544](https://redirect.github.com/dragonflydb/dragonfly/pull/3544) - chore(server): Fix watch by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3557](https://redirect.github.com/dragonflydb/dragonfly/pull/3557) - chore(search): fix numeric index query in rev order by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3555](https://redirect.github.com/dragonflydb/dragonfly/pull/3555) - chore: allow limiting pipelining queue by length by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3551](https://redirect.github.com/dragonflydb/dragonfly/pull/3551) - fix: add unsupported_server_types to fakeredis tests by [@​cunla](https://redirect.github.com/cunla) in [https://github.com/dragonflydb/dragonfly/pull/3560](https://redirect.github.com/dragonflydb/dragonfly/pull/3560) - fix: string compatibility issues by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3564](https://redirect.github.com/dragonflydb/dragonfly/pull/3564) - fix(server): Fix ZRANGEBYLEX limit params by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3562](https://redirect.github.com/dragonflydb/dragonfly/pull/3562) - fix: compatibility around list and string commands by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3565](https://redirect.github.com/dragonflydb/dragonfly/pull/3565) - chore(server): Unify zset arg parsing by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3563](https://redirect.github.com/dragonflydb/dragonfly/pull/3563) - fix: compatibility around list,string and sort commands by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3568](https://redirect.github.com/dragonflydb/dragonfly/pull/3568) - chore(server): Sort correctly in ZINTER by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3566](https://redirect.github.com/dragonflydb/dragonfly/pull/3566) - chore(server): Unify zset boolean operations into single function by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3567](https://redirect.github.com/dragonflydb/dragonfly/pull/3567) - chore(transaction): More blocking tests by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3546](https://redirect.github.com/dragonflydb/dragonfly/pull/3546) - fix: delete empty dense sets in HGetGeneric by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3543](https://redirect.github.com/dragonflydb/dragonfly/pull/3543) - chore(search): Silence query parser error by [@​dranikpg](https://redirect.github.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/3570](https://redirect.github.com/dragonflydb/dragonfly/pull/3570) - chore: improve compatibility of set and ping commands by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3569](https://redirect.github.com/dragonflydb/dragonfly/pull/3569) - fix: disable failing test_cron_snapshot_failed_saving by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3571](https://redirect.github.com/dragonflydb/dragonfly/pull/3571) - fix: disable test_cluster_flushall_during_migration by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3573](https://redirect.github.com/dragonflydb/dragonfly/pull/3573) - chore: add -Wthread-analysis and annotate (part 1/2) by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3502](https://redirect.github.com/dragonflydb/dragonfly/pull/3502) - feat(generic_family): Implement EXPIRETIME and PEXPIRETIME commands by [@​Eunoia1729](https://redirect.github.com/Eunoia1729) in [https://github.com/dragonflydb/dragonfly/pull/3524](https://redirect.github.com/dragonflydb/dragonfly/pull/3524) - chore: allow running dragonfly pytests in repeat by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3577](https://redirect.github.com/dragonflydb/dragonfly/pull/3577) - fix(json_family): Fix json get crash due to an invalid json path by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3580](https://redirect.github.com/dragonflydb/dragonfly/pull/3580) - fix(json_family): Fix JSON.GET crash for the multiple legacy mode paths by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3582](https://redirect.github.com/dragonflydb/dragonfly/pull/3582) - fix: return an error when invalid number of arguments is passed. by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3584](https://redirect.github.com/dragonflydb/dragonfly/pull/3584) - feat: add oom_deny_ratio to mutable config by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3585](https://redirect.github.com/dragonflydb/dragonfly/pull/3585) - fix: warning as error on sanitizers build by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3587](https://redirect.github.com/dragonflydb/dragonfly/pull/3587) - feat: add escaping symbols for tag search by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3578](https://redirect.github.com/dragonflydb/dragonfly/pull/3578) - fix: skip test_replica_reconnections_after_network_disconnect by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3589](https://redirect.github.com/dragonflydb/dragonfly/pull/3589) - docs(readme): Fix data mistake by [@​DerickIT](https://redirect.github.com/DerickIT) in [https://github.com/dragonflydb/dragonfly/pull/3590](https://redirect.github.com/dragonflydb/dragonfly/pull/3590) - chore: remove DflyVersion::VER0 by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3593](https://redirect.github.com/dragonflydb/dragonfly/pull/3593) - refactor: remove double conversion from str to number to str in search by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3591](https://redirect.github.com/dragonflydb/dragonfly/pull/3591) - chore(deps): bump aiohttp from 3.8.4 to 3.10.2 in /tests/dragonfly by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/dragonflydb/dragonfly/pull/3600](https://redirect.github.com/dragonflydb/dragonfly/pull/3600) - refactor: remove toUpper() from cmd_arg_parser by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3599](https://redirect.github.com/dragonflydb/dragonfly/pull/3599) - fix: JSON.STRAPPEND by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3597](https://redirect.github.com/dragonflydb/dragonfly/pull/3597) - chore(deps): bump golang.org/x/net from 0.7.0 to 0.23.0 in /contrib/charts/dragonfly by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/dragonflydb/dragonfly/pull/3601](https://redirect.github.com/dragonflydb/dragonfly/pull/3601) - chore(deps): bump gopkg.in/yaml.v3 from 3.0.0-20210107192922-496545a6307b to 3.0.0 in /tools/replay by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/dragonflydb/dragonfly/pull/3603](https://redirect.github.com/dragonflydb/dragonfly/pull/3603) - chore(deps): bump google.golang.org/protobuf from 1.26.0 to 1.33.0 in /contrib/charts/dragonfly by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/dragonflydb/dragonfly/pull/3604](https://redirect.github.com/dragonflydb/dragonfly/pull/3604) - fix: xreadgroup replies as a map for RESP3 by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3576](https://redirect.github.com/dragonflydb/dragonfly/pull/3576) - chore: enable experimental_new_io by default. by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3605](https://redirect.github.com/dragonflydb/dragonfly/pull/3605) - fix(server_family): Remove search indexes during the FLUSHALL command by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3539](https://redirect.github.com/dragonflydb/dragonfly/pull/3539) - feat(acl): add pub/sub by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3574](https://redirect.github.com/dragonflydb/dragonfly/pull/3574) - chore: enable -Werror=thread-safety and add missing annotations (part 2/2) by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3595](https://redirect.github.com/dragonflydb/dragonfly/pull/3595) - feat: add slave_repl_offset to the replication section. by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3596](https://redirect.github.com/dragonflydb/dragonfly/pull/3596) - fix(json_family): Fix JsonFromString method by [@​BagritsevichStepan](https://redirect.github.com/BagritsevichStepan) in [https://github.com/dragonflydb/dragonfly/pull/3602](https://redirect.github.com/dragonflydb/dragonfly/pull/3602) - fix(grafana): Fix grafana dragonfly dashboard datasource by [@​applike-ss](https://redirect.github.com/applike-ss) in [https://github.com/dragonflydb/dragonfly/pull/3608](https://redirect.github.com/dragonflydb/dragonfly/pull/3608) - fix: debug crash inside parsing of ZRANGE by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3611](https://redirect.github.com/dragonflydb/dragonfly/pull/3611) - chore: run fakeredis flow with the debug build by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3612](https://redirect.github.com/dragonflydb/dragonfly/pull/3612) - chore: Split `--cluster_announce_ip` and `--replica_announce_ip` by [@​chakaz](https://redirect.github.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/3615](https://redirect.github.com/dragonflydb/dragonfly/pull/3615) - fix: fix expiration processing for set command by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3607](https://redirect.github.com/dragonflydb/dragonfly/pull/3607) - fix pytest: use generic random dbfilename in tests by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3617](https://redirect.github.com/dragonflydb/dragonfly/pull/3617) - fix(bug): zinter command should run on replica by [@​adiholden](https://redirect.github.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/3620](https://redirect.github.com/dragonflydb/dragonfly/pull/3620) - fix(test_auth_resp3\_bug): release build failing by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3621](https://redirect.github.com/dragonflydb/dragonfly/pull/3621) - chore: improve debug logs in dragonfly_connection by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3624](https://redirect.github.com/dragonflydb/dragonfly/pull/3624) - fix: edge cases around mismatched path in json code by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3609](https://redirect.github.com/dragonflydb/dragonfly/pull/3609) - test: fix search tests by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3625](https://redirect.github.com/dragonflydb/dragonfly/pull/3625) - refactor: remove extra code from CmdArgParser by [@​BorysTheDev](https://redirect.github.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/3619](https://redirect.github.com/dragonflydb/dragonfly/pull/3619) - fix: limit parsing in zrange commands by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3626](https://redirect.github.com/dragonflydb/dragonfly/pull/3626) - chore: disable big value ser on reg tests by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3629](https://redirect.github.com/dragonflydb/dragonfly/pull/3629) - fix: crash when passing empty arguments by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3627](https://redirect.github.com/dragonflydb/dragonfly/pull/3627) - fix: 'renamenx foo foo' should return 0 if foo exists by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3630](https://redirect.github.com/dragonflydb/dragonfly/pull/3630) - fix: debug help printed layout by [@​kostasrim](https://redirect.github.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/3635](https://redirect.github.com/dragonflydb/dragonfly/pull/3635) - fix: crash during SORT DESC call by [@​romange](https://redirect.github.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/3637](https://redirect.github.com/dragonflydb/dragonfly/pull/3637) ##### New Contributors - [@​cunla](https://redirect.github.com/cunla) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/3534](https://redirect.github.com/dragonflydb/dragonfly/pull/3534) - [@​Eunoia1729](https://redirect.github.com/Eunoia1729) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/3524](https://redirect.github.com/dragonflydb/dragonfly/pull/3524) - [@​DerickIT](https://redirect.github.com/DerickIT) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/3590](https://redirect.github.com/dragonflydb/dragonfly/pull/3590) - [@​applike-ss](https://redirect.github.com/applike-ss) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/3608](https://redirect.github.com/dragonflydb/dragonfly/pull/3608) **Full Changelog**: dragonflydb/dragonfly@v1.21.0...v1.22.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:eyJjcmVhdGVkSW5WZXIiOiIzOC42NC4yIiwidXBkYXRlZEluVmVyIjoiMzguNjQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9taW5vciJdfQ==-->
3/3 prs for the full support of the json legacy mode.
fixes #2959