Skip to content
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: get rid of kv_args and replace it with slices to full_args #2942

Merged
merged 1 commit into from May 6, 2024
Merged

Conversation

romange
Copy link
Collaborator

@romange romange commented Apr 21, 2024

The main change is in tx_base.* where we introduce ShardArgs slice that
is only forward iterable. It allows us to go over sub-ranges of the full arguments
slice or read an index of any of its elements.

Since ShardArgs provide now indices into the original argument list we do not need to build the reverse index in transactions.

@romange romange requested a review from dranikpg April 21, 2024 18:47
@@ -67,98 +59,6 @@ struct LockTagOptions {
static const LockTagOptions& instance();
};

struct KeyLockArgs {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moved to tx_base.h

@dranikpg
Copy link
Contributor

oh no, so much code 📈 🗿

@romange romange force-pushed the Pr1 branch 7 times, most recently from 27b9d50 to ae03b0d Compare May 3, 2024 05:51
@romange romange marked this pull request as ready for review May 3, 2024 05:51
The main change is in tx_base.* where we introduce ShardArgs slice that
is only forward iterable. It allows us to go over sub-ranges of the full arguments
slice or read an index of any of its elements.

Since ShardArgs provide now indices into the original argument list we do not need to build the reverse index in transactions.

Signed-off-by: Roman Gershman <[email protected]>
@romange
Copy link
Collaborator Author

romange commented May 3, 2024

Now it's less code

Comment on lines +161 to +176
// A bit awkward translation from a single key to ShardArgs.
// We create a mutable slice (which will never be mutated) from the key, then we create
// a CmdArgList of size 1 that references mslice and finally
// we reference the first element in the CmdArgList via islice.
struct SingleArg {
MutableSlice mslice;
IndexSlice islice{0, 1};

SingleArg(string_view arg) : mslice(const_cast<char*>(arg.data()), arg.size()) {
}

ShardArgs Get() {
return ShardArgs{CmdArgList{&mslice, 1}, absl::MakeSpan(&islice, 1)};
}
};

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's used only for smalle edge cases, so a string would do the job instead of a const cast

once we have this pr, we could even try to remove mutability from ArgSlice alltogether 🤷🏻‍♂️

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i will keep const cast as it's harmless anyways

@romange romange merged commit de0e5cb into main May 6, 2024
10 checks passed
@romange romange deleted the Pr1 branch May 6, 2024 12:53
romange added a commit that referenced this pull request May 7, 2024
romange added a commit that referenced this pull request May 8, 2024
#3024)

Revert "chore: get rid of kv_args and replace it with slices to full_args (#2942)"

This reverts commit de0e5cb.
kireque pushed a commit to kireque/home-ops that referenced this pull request May 10, 2024
…nfly ( v1.17.1 → v1.18.0 ) (#539)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[docker.dragonflydb.io/dragonflydb/dragonfly](https://togithub.com/dragonflydb/dragonfly)
| minor | `v1.17.1` -> `v1.18.0` |

---

### Release Notes

<details>
<summary>dragonflydb/dragonfly
(docker.dragonflydb.io/dragonflydb/dragonfly)</summary>

###
[`v1.18.0`](https://togithub.com/dragonflydb/dragonfly/releases/tag/v1.18.0)

[Compare
Source](https://togithub.com/dragonflydb/dragonfly/compare/v1.17.1...v1.18.0)

##### Dragonfly v1.18.0

Some prominent changes include:

- ACL improvements:
[#&#8203;2945](https://togithub.com/dragonflydb/dragonfly/issues/2945)
[#&#8203;2943](https://togithub.com/dragonflydb/dragonfly/issues/2943)
[#&#8203;2920](https://togithub.com/dragonflydb/dragonfly/issues/2920)
[#&#8203;2982](https://togithub.com/dragonflydb/dragonfly/issues/2982)
[#&#8203;2995](https://togithub.com/dragonflydb/dragonfly/issues/2995)
- Implementation of json.merge
[#&#8203;2960](https://togithub.com/dragonflydb/dragonfly/issues/2960)
-   Replication - memory improvements
- Very much alpha support for data tiering. Try it out with
`--tiered_prefix=/pathto/ssd/base` and see how your memory usage goes
down (STRING type only). Do not use it in prod! 😸

##### What's Changed

- feat: retry ACK if the configs are different
[#&#8203;2833](https://togithub.com/dragonflydb/dragonfly/issues/2833)
by [@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[dragonflydb/dragonfly#2906
- chore(tiering): Update Get, Set, Del by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2897
- chore: preparation step for lock fingerprints by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2899
- fix(transaction): Use FinishHop in schedule by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2911
- chore(tiering): Fix MacOs build by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2913
- feat(cluster): Migration cancellation support by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[dragonflydb/dragonfly#2869
- feat: process migration data after FIN opcode
[#&#8203;2864](https://togithub.com/dragonflydb/dragonfly/issues/2864)
by [@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[dragonflydb/dragonfly#2918
- chore(string_family): Refactor SetCmd by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2919
- fix: Improve reply latency of HELLO by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2925
- chore: improve reply latency of SendScoredArray by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2929
- Namespace support in prometheus rule by
[@&#8203;Pothulapati](https://togithub.com/Pothulapati) in
[dragonflydb/dragonfly#2931
- fix: socket closed when RegisterOnErrorCb is called in HandleRequests
by [@&#8203;kostasrim](https://togithub.com/kostasrim) in
[dragonflydb/dragonfly#2932
- chore: bring more clarity when replayer fails by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2933
- Slot migration cancel crash fix by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[dragonflydb/dragonfly#2934
- feat: add ability reaply config with migration
[#&#8203;2924](https://togithub.com/dragonflydb/dragonfly/issues/2924)
by [@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[dragonflydb/dragonfly#2926
- fix(test): Unflake fuzzy cluster migration test by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[dragonflydb/dragonfly#2927
- chore: Remove Schedule() call by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2938
- chore: get rid of lock keys by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2894
- fix: introduce info_replication_valkey_compatible flag by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2936
- feat(metrics): adding max_clients to metrics and info output
([#&#8203;2912](https://togithub.com/dragonflydb/dragonfly/issues/2912))
by [@&#8203;racamirko](https://togithub.com/racamirko) in
[dragonflydb/dragonfly#2940
- chore: adjust transaction code to keystep/3 commands by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2941
- feat(tiering): Get, GetSet, Set test by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2921
- chore(acl): adjust some ACL command responses by
[@&#8203;Niennienzz](https://togithub.com/Niennienzz) in
[dragonflydb/dragonfly#2943
- chore: Pull helio with new future by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2944
- refactor: add cluster namespace by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[dragonflydb/dragonfly#2948
- chore: Introduce ShardArgs as a distinct type by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2952
- chore: Log db_index in traffic logger by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2951
- fixes for v1.18.0 by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[dragonflydb/dragonfly#2956
- feat(tiering): Support append (and modifications in general) by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2949
- feat: extended bracket index in jsonpath by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2954
- chore: Remove TieringV1 by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2962
- fix(pytests): replace proc.wait() with proc.communicate() to avoid
deadlocks by [@&#8203;kostasrim](https://togithub.com/kostasrim) in
[dragonflydb/dragonfly#2964
- feat(tiering): Registered buffers by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2967
- feat: add slot migration error processing by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[dragonflydb/dragonfly#2957
- chore(acl): allow multiple users in acl deluser by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[dragonflydb/dragonfly#2945
- feat: implement json.merge by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2960
- fix: fix deadlock and slot flush for migration cancel
[#&#8203;2968](https://togithub.com/dragonflydb/dragonfly/issues/2968)
by [@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[dragonflydb/dragonfly#2972
- chore(tiering): Lots of metrics by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2977
- fix: crash during migration when connection is closing by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[dragonflydb/dragonfly#2973
- fix: remove acl-check and cancel instead when REPLCONF ACK fails to
validate by [@&#8203;kostasrim](https://togithub.com/kostasrim) in
[dragonflydb/dragonfly#2920
- fix: check return code of process after communicate by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[dragonflydb/dragonfly#2976
- fix: allow non hashed passwords when loading users from acl file by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[dragonflydb/dragonfly#2982
- chore: update our container distributions versions by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2983
- chore: remove version checks when running our regtests by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2988
- chore(acl): add vlog and check on deluser flow by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[dragonflydb/dragonfly#2995
- fix(memcached): Register memcached listener to handle `--maxclients`
by [@&#8203;chakaz](https://togithub.com/chakaz) in
[dragonflydb/dragonfly#2985
- chore: another preparation commit to get rid of kv_args in transaction
by [@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2996
- chore: improve performance of Scan operation by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2990
- fix(server): small string allocations only under 256 bytes str by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[dragonflydb/dragonfly#2991
- fix(cluster-migration): Support cancelling migration right after
starting it by [@&#8203;chakaz](https://togithub.com/chakaz) in
[dragonflydb/dragonfly#2992
- chore: fix double header issue by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#3002
- chore: small tiering fixes by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2966
- feat(benchmark-tests): run in K8s by
[@&#8203;zacharya19](https://togithub.com/zacharya19) in
[dragonflydb/dragonfly#2965
- Benchmark fixes by
[@&#8203;zacharya19](https://togithub.com/zacharya19) in
[dragonflydb/dragonfly#3005
- fix(tiering): rename v2 + max_file_size by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#3004
- chore: fix tiering macos stub by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#3006
- chore: export listener stats by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#3007
- chore: pull latest helio by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#3009
- fix(server): lag is 0 when server not in stable state by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[dragonflydb/dragonfly#3010
- chore: get rid of kv_args and replace it with slices to full_args by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2942
- fix(server): non auto journal write after callback finish by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[dragonflydb/dragonfly#3016
- fix(server): shrink replication steaming buf by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[dragonflydb/dragonfly#3012
- fix(zset): fix random in ZRANDMEMBER command by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[dragonflydb/dragonfly#2994
- Fix benchmark by [@&#8203;adiholden](https://togithub.com/adiholden)
in
[dragonflydb/dragonfly#3017
- chore: Remove tiering test skip by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#3011
- feat(tiering): simple offload loop by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2987
- feat(tiering): MGET support by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#3013
- Revert "chore: get rid of kv_args and replace it with slices to
full\_… by [@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#3024
- chore(dash): Replace comparator with predicate by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#3025
- feat: add defragment command by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[dragonflydb/dragonfly#3003

##### Huge thanks to all the contributors! ❤️

##### New Contributors

- [@&#8203;racamirko](https://togithub.com/racamirko) made their first
contribution in
[dragonflydb/dragonfly#2940
- [@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan)
made their first contribution in
[dragonflydb/dragonfly#2994

**Full Changelog**:
dragonflydb/dragonfly@v1.17.0...v1.18.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://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTIuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM1Mi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19-->

Co-authored-by: kireque-bot[bot] <143391978+kireque-bot[bot]@users.noreply.github.com>
lumiere-bot bot added a commit to coolguy1771/home-ops that referenced this pull request May 11, 2024
…18.0 ) (#4656)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[ghcr.io/dragonflydb/dragonfly](https://togithub.com/dragonflydb/dragonfly)
| minor | `v1.17.1` -> `v1.18.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.18.0`](https://togithub.com/dragonflydb/dragonfly/releases/tag/v1.18.0)

[Compare
Source](https://togithub.com/dragonflydb/dragonfly/compare/v1.17.1...v1.18.0)

##### Dragonfly v1.18.0

Some prominent changes include:

- ACL improvements:
[#&#8203;2945](https://togithub.com/dragonflydb/dragonfly/issues/2945)
[#&#8203;2943](https://togithub.com/dragonflydb/dragonfly/issues/2943)
[#&#8203;2920](https://togithub.com/dragonflydb/dragonfly/issues/2920)
[#&#8203;2982](https://togithub.com/dragonflydb/dragonfly/issues/2982)
[#&#8203;2995](https://togithub.com/dragonflydb/dragonfly/issues/2995)
- Implementation of json.merge
[#&#8203;2960](https://togithub.com/dragonflydb/dragonfly/issues/2960)
-   Replication - memory improvements
- Very much alpha support for data tiering. Try it out with
`--tiered_prefix=/pathto/ssd/base` and see how your memory usage goes
down (STRING type only). Do not use it in prod! 😸

##### What's Changed

- feat: retry ACK if the configs are different
[#&#8203;2833](https://togithub.com/dragonflydb/dragonfly/issues/2833)
by [@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[dragonflydb/dragonfly#2906
- chore(tiering): Update Get, Set, Del by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2897
- chore: preparation step for lock fingerprints by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2899
- fix(transaction): Use FinishHop in schedule by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2911
- chore(tiering): Fix MacOs build by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2913
- feat(cluster): Migration cancellation support by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[dragonflydb/dragonfly#2869
- feat: process migration data after FIN opcode
[#&#8203;2864](https://togithub.com/dragonflydb/dragonfly/issues/2864)
by [@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[dragonflydb/dragonfly#2918
- chore(string_family): Refactor SetCmd by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2919
- fix: Improve reply latency of HELLO by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2925
- chore: improve reply latency of SendScoredArray by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2929
- Namespace support in prometheus rule by
[@&#8203;Pothulapati](https://togithub.com/Pothulapati) in
[dragonflydb/dragonfly#2931
- fix: socket closed when RegisterOnErrorCb is called in HandleRequests
by [@&#8203;kostasrim](https://togithub.com/kostasrim) in
[dragonflydb/dragonfly#2932
- chore: bring more clarity when replayer fails by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2933
- Slot migration cancel crash fix by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[dragonflydb/dragonfly#2934
- feat: add ability reaply config with migration
[#&#8203;2924](https://togithub.com/dragonflydb/dragonfly/issues/2924)
by [@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[dragonflydb/dragonfly#2926
- fix(test): Unflake fuzzy cluster migration test by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[dragonflydb/dragonfly#2927
- chore: Remove Schedule() call by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2938
- chore: get rid of lock keys by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2894
- fix: introduce info_replication_valkey_compatible flag by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2936
- feat(metrics): adding max_clients to metrics and info output
([#&#8203;2912](https://togithub.com/dragonflydb/dragonfly/issues/2912))
by [@&#8203;racamirko](https://togithub.com/racamirko) in
[dragonflydb/dragonfly#2940
- chore: adjust transaction code to keystep/3 commands by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2941
- feat(tiering): Get, GetSet, Set test by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2921
- chore(acl): adjust some ACL command responses by
[@&#8203;Niennienzz](https://togithub.com/Niennienzz) in
[dragonflydb/dragonfly#2943
- chore: Pull helio with new future by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2944
- refactor: add cluster namespace by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[dragonflydb/dragonfly#2948
- chore: Introduce ShardArgs as a distinct type by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2952
- chore: Log db_index in traffic logger by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2951
- fixes for v1.18.0 by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[dragonflydb/dragonfly#2956
- feat(tiering): Support append (and modifications in general) by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2949
- feat: extended bracket index in jsonpath by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2954
- chore: Remove TieringV1 by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2962
- fix(pytests): replace proc.wait() with proc.communicate() to avoid
deadlocks by [@&#8203;kostasrim](https://togithub.com/kostasrim) in
[dragonflydb/dragonfly#2964
- feat(tiering): Registered buffers by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2967
- feat: add slot migration error processing by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[dragonflydb/dragonfly#2957
- chore(acl): allow multiple users in acl deluser by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[dragonflydb/dragonfly#2945
- feat: implement json.merge by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2960
- fix: fix deadlock and slot flush for migration cancel
[#&#8203;2968](https://togithub.com/dragonflydb/dragonfly/issues/2968)
by [@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[dragonflydb/dragonfly#2972
- chore(tiering): Lots of metrics by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2977
- fix: crash during migration when connection is closing by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[dragonflydb/dragonfly#2973
- fix: remove acl-check and cancel instead when REPLCONF ACK fails to
validate by [@&#8203;kostasrim](https://togithub.com/kostasrim) in
[dragonflydb/dragonfly#2920
- fix: check return code of process after communicate by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[dragonflydb/dragonfly#2976
- fix: allow non hashed passwords when loading users from acl file by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[dragonflydb/dragonfly#2982
- chore: update our container distributions versions by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2983
- chore: remove version checks when running our regtests by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2988
- chore(acl): add vlog and check on deluser flow by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[dragonflydb/dragonfly#2995
- fix(memcached): Register memcached listener to handle `--maxclients`
by [@&#8203;chakaz](https://togithub.com/chakaz) in
[dragonflydb/dragonfly#2985
- chore: another preparation commit to get rid of kv_args in transaction
by [@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2996
- chore: improve performance of Scan operation by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2990
- fix(server): small string allocations only under 256 bytes str by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[dragonflydb/dragonfly#2991
- fix(cluster-migration): Support cancelling migration right after
starting it by [@&#8203;chakaz](https://togithub.com/chakaz) in
[dragonflydb/dragonfly#2992
- chore: fix double header issue by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#3002
- chore: small tiering fixes by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2966
- feat(benchmark-tests): run in K8s by
[@&#8203;zacharya19](https://togithub.com/zacharya19) in
[dragonflydb/dragonfly#2965
- Benchmark fixes by
[@&#8203;zacharya19](https://togithub.com/zacharya19) in
[dragonflydb/dragonfly#3005
- fix(tiering): rename v2 + max_file_size by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#3004
- chore: fix tiering macos stub by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#3006
- chore: export listener stats by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#3007
- chore: pull latest helio by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#3009
- fix(server): lag is 0 when server not in stable state by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[dragonflydb/dragonfly#3010
- chore: get rid of kv_args and replace it with slices to full_args by
[@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#2942
- fix(server): non auto journal write after callback finish by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[dragonflydb/dragonfly#3016
- fix(server): shrink replication steaming buf by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[dragonflydb/dragonfly#3012
- fix(zset): fix random in ZRANDMEMBER command by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[dragonflydb/dragonfly#2994
- Fix benchmark by [@&#8203;adiholden](https://togithub.com/adiholden)
in
[dragonflydb/dragonfly#3017
- chore: Remove tiering test skip by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#3011
- feat(tiering): simple offload loop by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#2987
- feat(tiering): MGET support by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#3013
- Revert "chore: get rid of kv_args and replace it with slices to
full\_… by [@&#8203;romange](https://togithub.com/romange) in
[dragonflydb/dragonfly#3024
- chore(dash): Replace comparator with predicate by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[dragonflydb/dragonfly#3025
- feat: add defragment command by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[dragonflydb/dragonfly#3003

##### Huge thanks to all the contributors! ❤️

##### New Contributors

- [@&#8203;racamirko](https://togithub.com/racamirko) made their first
contribution in
[dragonflydb/dragonfly#2940
- [@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan)
made their first contribution in
[dragonflydb/dragonfly#2994

**Full Changelog**:
dragonflydb/dragonfly@v1.17.0...v1.18.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://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTIuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM1Mi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19-->

Co-authored-by: lumiere-bot[bot] <98047013+lumiere-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants