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

fix: acl compatibility #3147

Merged
merged 4 commits into from
Jun 13, 2024
Merged

fix: acl compatibility #3147

merged 4 commits into from
Jun 13, 2024

Conversation

kostasrim
Copy link
Contributor

@kostasrim kostasrim commented Jun 6, 2024

resolves: #3046

  • remove acl categories from context and all acl checks
  • category assign,ent now assigns all the acl commands for that category to the user
  • introduce modification order of acl's per user
  • acl rules are now printed in the same order as in redis/valkey
  • remove old user_registry_test which was part of the poc

@kostasrim kostasrim self-assigned this Jun 6, 2024
@kostasrim kostasrim force-pushed the acl_compat_changes branch from e2fe306 to 51ae74f Compare June 7, 2024 09:45
@kostasrim kostasrim changed the title fix(acl): acl compatibility fix: acl compatibility Jun 7, 2024
@kostasrim kostasrim force-pushed the acl_compat_changes branch from 51ae74f to 567c095 Compare June 7, 2024 11:25
@kostasrim kostasrim marked this pull request as ready for review June 7, 2024 11:25
@kostasrim kostasrim requested a review from dranikpg June 7, 2024 11:28
@kostasrim kostasrim force-pushed the acl_compat_changes branch from 567c095 to a54b6ca Compare June 7, 2024 11:30
dranikpg
dranikpg previously approved these changes Jun 7, 2024
Copy link
Contributor

@dranikpg dranikpg left a comment

Choose a reason for hiding this comment

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

Some minor questions. Also, what's the reason for removing full category flags? Isn't that more efficient?

Comment on lines 91 to 94
// bit index to index in the REVERSE_CATEGORY_INDEX_TABLE
using CategoryToIdxStore = absl::flat_hash_map<uint32_t, uint32_t>;

// inline const CategoryToIdxStore& CategoryToIdx(CategoryToIdxStore store = {}) {
Copy link
Contributor

Choose a reason for hiding this comment

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

I just had a cool thought that we know this stuff at compiletime, so we could make a alias to a bitset<sizeof(categories)> that's easier to manage than an int flag 😎

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We just normalize here. Had we replaced the flat_hash_map with that we would loose the index we map to ( CategoryToIdxStore just maps the category, e.g. the mask with an index that can be used to find its name). On the other hand if we replace the key, uint32_t with std::bitset it won't really make a difference since we don't manipulate any of the individual bits.

Maybe I am missing something so let me know :)

Comment on lines 140 to 142
auto family = cid.GetFamily();
auto bit_index = cid.GetBitIndex();
index[cat_name][family] = index[cat_name][family] | bit_index;
Copy link
Contributor

Choose a reason for hiding this comment

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

that's just a index[cid.GetBidIndex()][cid.GetFamily()] |= bit_index;

Comment on lines +148 to +151
CategoryToIdxStore idx_store;
for (size_t i = 0; i < 32; ++i) {
idx_store[1 << i] = i;
}
Copy link
Contributor

Choose a reason for hiding this comment

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

could there be any reason there's not a 1-to-1 mapping? If not, we could elminiate this store allotogether

Copy link
Contributor Author

Choose a reason for hiding this comment

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

category has large values depending on which bit is set, so for example SCRIPTING is 1<<20 which makes the 1-1 mapping impossible. The flow is that the user passes let's a +SCRIPTING, it's parsed to 1<<20. Now if we want to find the name of the category, we normalize the 1<<n into the index and then use that index in the REVERSE_CATEGORY_TABLE. Open to ideas if it can be improved 🤷

Comment on lines 66 to 78
struct CommandChange {
size_t family = 0;
uint64_t bit_index = 0;

// Customization point to make it hashable with absl containers
template <typename H> friend H AbslHashValue(H h, const CommandChange& c) {
return H::combine(std::move(h), c.family + c.bit_index);
}

friend bool operator==(CommandChange c1, CommandChange c2) {
return (c1.family == c2.family) && (c1.bit_index == c2.bit_index);
}
};
Copy link
Contributor

Choose a reason for hiding this comment

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

fun fact alias CommandChange = pair<> is also hashable, assingnable and comparable 🙂 I doubt you'll ever "accidentally" assign a regular pair to it 🙃

I don't see it being used in a variant

@kostasrim
Copy link
Contributor Author

kostasrim commented Jun 10, 2024

Some minor questions. Also, what's the reason for removing full category flags? Isn't that more efficient?

@dranikpg The problem is the semantics. So in redis/valkey the following chore works:

Add +@write to category section of the ACL and add -set to commands section of the ACL
Issue a set command on an already permitted key
See that set command works (it should `not`)

The reason that it breaks is because we take the conjuction between categories and command. This works for all the cases but breaks on this one. The order of WRITE, SET dictates if a user is allowed to execute the command -- it's not a conjuction. What we should actually check instead is if the user is allowed to execute the command (that's the only simple way to solve this corner case -- there other solutions by keep a separate table for categories that explicitly were removed -set but that would still require the order -- that is -@write got executed before +set or after?).

The simplest solution for me was to treat groups as a gateway to a list of commands. That way, each time we assign a group to a user we effectively allow or disallow them to execute command. That give us that right semantics for the above case because +@write -set or -@write +set does the right thing

The hash_maps are there to track changes. Such that now we print -set +write etc in the right order just like redis/valkey. It's a compatibility thing and their sizes should not be big (a few key/value pairs per user)

Last but not least, I would not say is necessary slower, for two reasons:

  1. This is not the critical path
  2. When we updated a category we would update a uint and now we update 15 uints withinin a vector which is still a constant number of changes on contiguous memory

p.s. I wil ltake care of the rest of your comments soon +1

@kostasrim kostasrim merged commit d2ae0ab into main Jun 13, 2024
10 checks passed
@kostasrim kostasrim deleted the acl_compat_changes branch June 13, 2024 07:56
szinn referenced this pull request in szinn/k8s-homelab Jul 9, 2024
…nfly ( v1.19.2 → v1.20.0 ) (#3956)

This PR contains the following updates:

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

---

### Release Notes

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

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

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

##### Dragonfly v1.20.0

Some prominent changes include:

- Improvements around client side caching
([#&#8203;3136](https://togithub.com/dragonflydb/dragonfly/issues/3136)
[#&#8203;3158](https://togithub.com/dragonflydb/dragonfly/issues/3158))
Specifically, rueidis is now supported
([#&#8203;2454](https://togithub.com/dragonflydb/dragonfly/issues/2454))
- Improvements around search and vector search APIs, FT.ALTER is now
supported
([#&#8203;3144](https://togithub.com/dragonflydb/dragonfly/issues/3144),
[#&#8203;3148](https://togithub.com/dragonflydb/dragonfly/issues/3148),
[#&#8203;3178](https://togithub.com/dragonflydb/dragonfly/issues/3178),
[#&#8203;3186](https://togithub.com/dragonflydb/dragonfly/issues/3186))
- JSON.MSET is added
([#&#8203;3167](https://togithub.com/dragonflydb/dragonfly/issues/3167))
- Expiry notifications are now supported
([#&#8203;3154](https://togithub.com/dragonflydb/dragonfly/issues/3154))

##### What's Changed

- test(cluster_mgr): Add tests for cluster_mgr.py by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3129](https://togithub.com/dragonflydb/dragonfly/pull/3129)
- chore: get rid of kv_args and replace it with slices to full_args by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3101](https://togithub.com/dragonflydb/dragonfly/pull/3101)
- fix: Fix live-lock in connection test by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3135](https://togithub.com/dragonflydb/dragonfly/pull/3135)
- chore: call breaker_cb\_ on shutdown by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3128](https://togithub.com/dragonflydb/dragonfly/pull/3128)
- chore: Add option to disable aws dependency by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3077](https://togithub.com/dragonflydb/dragonfly/pull/3077)
- feat(cluster): Add important logs by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3138](https://togithub.com/dragonflydb/dragonfly/pull/3138)
- chore: a small cleanup by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3140](https://togithub.com/dragonflydb/dragonfly/pull/3140)
- test: skip test_cluster_migration_cancel, it is broken by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3146](https://togithub.com/dragonflydb/dragonfly/pull/3146)
- chore: update helio by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3150](https://togithub.com/dragonflydb/dragonfly/pull/3150)
- fix: fix bug in cluster/slot_set by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3143](https://togithub.com/dragonflydb/dragonfly/pull/3143)
- chore: recommit client tracking by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3136](https://togithub.com/dragonflydb/dragonfly/pull/3136)
- feat(search): Tag field options (separator, case sensitivity) by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3144](https://togithub.com/dragonflydb/dragonfly/pull/3144)
- feat(search): basic FT.ALTER by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3148](https://togithub.com/dragonflydb/dragonfly/pull/3148)
- chore: Introduce pipeline back-pressure by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3152](https://togithub.com/dragonflydb/dragonfly/pull/3152)
- fix: lua and client tracking by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3163](https://togithub.com/dragonflydb/dragonfly/pull/3163)
- feat: client tracking optout by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3158](https://togithub.com/dragonflydb/dragonfly/pull/3158)
- feat: add noloop subcommand in client tracking by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3164](https://togithub.com/dragonflydb/dragonfly/pull/3164)
- fix(ci): docker not using iouring by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3169](https://togithub.com/dragonflydb/dragonfly/pull/3169)
- fix(ci): add missing docker option on reg tests workflow by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3172](https://togithub.com/dragonflydb/dragonfly/pull/3172)
- fix: acl compatibility by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3147](https://togithub.com/dragonflydb/dragonfly/pull/3147)
- chore: Streamer is rewritten with async interface by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3108](https://togithub.com/dragonflydb/dragonfly/pull/3108)
- feat(json): MSET by [@&#8203;dranikpg](https://togithub.com/dranikpg)
in
[https://github.com/dragonflydb/dragonfly/pull/3167](https://togithub.com/dragonflydb/dragonfly/pull/3167)
- fix(cluster): Wait for flow creation before cancelling it by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3159](https://togithub.com/dragonflydb/dragonfly/pull/3159)
- chore: improve ft.create for vector search by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3178](https://togithub.com/dragonflydb/dragonfly/pull/3178)
- feat: add incoming migration error processing by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3175](https://togithub.com/dragonflydb/dragonfly/pull/3175)
- chore: add parsing support for the rest of VECTOR parameters by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3179](https://togithub.com/dragonflydb/dragonfly/pull/3179)
- fix(cluster): Wait before all access to slot migrations by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3180](https://togithub.com/dragonflydb/dragonfly/pull/3180)
- fix(server): fix bug in replication on cached mode by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[https://github.com/dragonflydb/dragonfly/pull/3156](https://togithub.com/dragonflydb/dragonfly/pull/3156)
- chore: small acl compat changes by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3177](https://togithub.com/dragonflydb/dragonfly/pull/3177)
- chore: allow calling Context::ReportError from I/O dispatch fiber by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3182](https://togithub.com/dragonflydb/dragonfly/pull/3182)
- chore: add a lexer test covering KNN query by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3185](https://togithub.com/dragonflydb/dragonfly/pull/3185)
- chore(search): Add \__vector_score alias by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3186](https://togithub.com/dragonflydb/dragonfly/pull/3186)
- chore: Refactor string span management by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3165](https://togithub.com/dragonflydb/dragonfly/pull/3165)
- chore(ci): run replication tests on arm by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3168](https://togithub.com/dragonflydb/dragonfly/pull/3168)
- chore(search): improve parser error reporting by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3184](https://togithub.com/dragonflydb/dragonfly/pull/3184)
- fix(reply_builder): remove virtual modifier in SendError(ErrorReply)
method by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[https://github.com/dragonflydb/dragonfly/pull/3191](https://togithub.com/dragonflydb/dragonfly/pull/3191)
- fix(cluster): Support `FLUSHALL` while slot migration is in progress
by [@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3173](https://togithub.com/dragonflydb/dragonfly/pull/3173)
- fix: fix RegisterOnChange methods for journal and db_slice by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3171](https://togithub.com/dragonflydb/dragonfly/pull/3171)
- fix(generic_family): fix RenameGeneric command for non-string data
types by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[https://github.com/dragonflydb/dragonfly/pull/3181](https://togithub.com/dragonflydb/dragonfly/pull/3181)
- fix(server): Rename confusing flag
`replica_reconnect_on_master_restart` by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3193](https://togithub.com/dragonflydb/dragonfly/pull/3193)
- fix(unit tests): fix generic family info test by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[https://github.com/dragonflydb/dragonfly/pull/3187](https://togithub.com/dragonflydb/dragonfly/pull/3187)
- test: improve cluster_fuzzy_migration test by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3197](https://togithub.com/dragonflydb/dragonfly/pull/3197)
- chore(core): Remove DfImpl inside ScoredMap by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3199](https://togithub.com/dragonflydb/dragonfly/pull/3199)
- chore(tiering): Remove IoMgr by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3198](https://togithub.com/dragonflydb/dragonfly/pull/3198)
- test(cluster): Make sure migration maintains TTL by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3188](https://togithub.com/dragonflydb/dragonfly/pull/3188)
- feat(cluster): Support `STICK` bit in slot migration by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3200](https://togithub.com/dragonflydb/dragonfly/pull/3200)
- chore: Re-enable previously flaky test by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3196](https://togithub.com/dragonflydb/dragonfly/pull/3196)
- feat(acl): add support of multiple passwords by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3189](https://togithub.com/dragonflydb/dragonfly/pull/3189)
- chore(tiering): More advanced tiering tests by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3201](https://togithub.com/dragonflydb/dragonfly/pull/3201)
- chore: add replica-priority flag by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3204](https://togithub.com/dragonflydb/dragonfly/pull/3204)
- chore: fix tiering regtest test by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3208](https://togithub.com/dragonflydb/dragonfly/pull/3208)
- feat(generic_family): Assemble RESTORE and STICK commands into one
commmand during replication of the RENAME command by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[https://github.com/dragonflydb/dragonfly/pull/3209](https://togithub.com/dragonflydb/dragonfly/pull/3209)
- core(search): Add EF_RUNTIME parameter by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3206](https://togithub.com/dragonflydb/dragonfly/pull/3206)
- fix(sanitizers): failing json test by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3176](https://togithub.com/dragonflydb/dragonfly/pull/3176)
- feat(server): expiry notifications by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3154](https://togithub.com/dragonflydb/dragonfly/pull/3154)
- fix: replicaof_reject_on_load flake by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3203](https://togithub.com/dragonflydb/dragonfly/pull/3203)
- fix(cluster): Don't miss keys when migrating slots by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3218](https://togithub.com/dragonflydb/dragonfly/pull/3218)
- fix(tiering): Fix pending leak during immediate stash error by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3219](https://togithub.com/dragonflydb/dragonfly/pull/3219)
- chore: provide basic logging to catch possible command errors by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3213](https://togithub.com/dragonflydb/dragonfly/pull/3213)
- chore: disable tiering test by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3236](https://togithub.com/dragonflydb/dragonfly/pull/3236)
- fix(transaction): Don't transactionalize empty EVAL inside EXEC by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3231](https://togithub.com/dragonflydb/dragonfly/pull/3231)
- fix: fix deadlock in DFLYCLUSTER CONFIG command and outgoing migration
finaliztion by [@&#8203;BorysTheDev](https://togithub.com/BorysTheDev)
in
[https://github.com/dragonflydb/dragonfly/pull/3239](https://togithub.com/dragonflydb/dragonfly/pull/3239)
- chore(tiered): minor fixes + expose buffer allocation type stats by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3234](https://togithub.com/dragonflydb/dragonfly/pull/3234)
- fix(pytest): timed ticker for simpler conditions by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3242](https://togithub.com/dragonflydb/dragonfly/pull/3242)
- fix(server): Fix SCAN deadlock by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3235](https://togithub.com/dragonflydb/dragonfly/pull/3235)
- chore: introduce back-pressure to tiered storage by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3243](https://togithub.com/dragonflydb/dragonfly/pull/3243)
- chore: improve dfly_bench by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3244](https://togithub.com/dragonflydb/dragonfly/pull/3244)
- chore(tiering): External alloc free page chaining by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3237](https://togithub.com/dragonflydb/dragonfly/pull/3237)
- fix: total_stash_overflows statistic by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3248](https://togithub.com/dragonflydb/dragonfly/pull/3248)
- chore: update action versions by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3250](https://togithub.com/dragonflydb/dragonfly/pull/3250)
- chore(lua): Return which undeclared key was accessed by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3245](https://togithub.com/dragonflydb/dragonfly/pull/3245)
- chore: replace session wide fixtures with scope by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3251](https://togithub.com/dragonflydb/dragonfly/pull/3251)
- chore: pull helio and adjust mimalloc for 32MiB segments by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3174](https://togithub.com/dragonflydb/dragonfly/pull/3174)
- chore: add more logs around the duplicate value case in small_bins by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3254](https://togithub.com/dragonflydb/dragonfly/pull/3254)
- fix: fix move error during migration finalization by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3253](https://togithub.com/dragonflydb/dragonfly/pull/3253)
- chore: upload all the logs from /tmp by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3263](https://togithub.com/dragonflydb/dragonfly/pull/3263)
- fix(tiering): Throttle snapshot load by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3249](https://togithub.com/dragonflydb/dragonfly/pull/3249)
- chore: initiate grow preemptively by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3267](https://togithub.com/dragonflydb/dragonfly/pull/3267)
- chore(monitoring): add more dashboards + memcached by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3268](https://togithub.com/dragonflydb/dragonfly/pull/3268)
- fix(json_family): fix JSON.GET commmand for JSON legacy mode by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[https://github.com/dragonflydb/dragonfly/pull/3261](https://togithub.com/dragonflydb/dragonfly/pull/3261)
- chore: dfly_bench can send traffic to memcached by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3271](https://togithub.com/dragonflydb/dragonfly/pull/3271)
- chore: print effective QPS of the server. by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3274](https://togithub.com/dragonflydb/dragonfly/pull/3274)
- chore: debugging fixes by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3275](https://togithub.com/dragonflydb/dragonfly/pull/3275)
- chore: more debug checks around tiered storage by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3277](https://togithub.com/dragonflydb/dragonfly/pull/3277)
- chore(license): Fix typo in LICENSE.md text by
[@&#8203;softmoth](https://togithub.com/softmoth) in
[https://github.com/dragonflydb/dragonfly/pull/3283](https://togithub.com/dragonflydb/dragonfly/pull/3283)
- fix(test): Verify that save has not finished by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3278](https://togithub.com/dragonflydb/dragonfly/pull/3278)
- Create scorecard.yml by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3270](https://togithub.com/dragonflydb/dragonfly/pull/3270)
- chore: Disable cluster_mgr_test by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3279](https://togithub.com/dragonflydb/dragonfly/pull/3279)
- fix: Increase key count to make test more robust by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3286](https://togithub.com/dragonflydb/dragonfly/pull/3286)
- fix: properly clean tiered state upon flash by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3281](https://togithub.com/dragonflydb/dragonfly/pull/3281)
- fix(bug): crash on takeover and info replication by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[https://github.com/dragonflydb/dragonfly/pull/3282](https://togithub.com/dragonflydb/dragonfly/pull/3282)

##### New Contributors

- [@&#8203;softmoth](https://togithub.com/softmoth) made their first
contribution in
[https://github.com/dragonflydb/dragonfly/pull/3283](https://togithub.com/dragonflydb/dragonfly/pull/3283)

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

**Full Changelog**:
dragonflydb/dragonfly@v1.19.0...v1.20.0

</details>

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjYuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQyNi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19-->

Co-authored-by: repo-jeeves[bot] <106431701+repo-jeeves[bot]@users.noreply.github.com>
spiceratops referenced this pull request in spiceratops/k8s-gitops Jul 9, 2024
#845)

This PR contains the following updates:

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

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

##### Dragonfly v1.20.0

Some prominent changes include:

- Improvements around client side caching
([#&#8203;3136](https://togithub.com/dragonflydb/dragonfly/issues/3136)
[#&#8203;3158](https://togithub.com/dragonflydb/dragonfly/issues/3158))
Specifically, rueidis is now supported
([#&#8203;2454](https://togithub.com/dragonflydb/dragonfly/issues/2454))
- Improvements around search and vector search APIs, FT.ALTER is now
supported
([#&#8203;3144](https://togithub.com/dragonflydb/dragonfly/issues/3144),
[#&#8203;3148](https://togithub.com/dragonflydb/dragonfly/issues/3148),
[#&#8203;3178](https://togithub.com/dragonflydb/dragonfly/issues/3178),
[#&#8203;3186](https://togithub.com/dragonflydb/dragonfly/issues/3186))
- JSON.MSET is added
([#&#8203;3167](https://togithub.com/dragonflydb/dragonfly/issues/3167))
- Expiry notifications are now supported
([#&#8203;3154](https://togithub.com/dragonflydb/dragonfly/issues/3154))

##### What's Changed

- test(cluster_mgr): Add tests for cluster_mgr.py by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3129](https://togithub.com/dragonflydb/dragonfly/pull/3129)
- chore: get rid of kv_args and replace it with slices to full_args by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3101](https://togithub.com/dragonflydb/dragonfly/pull/3101)
- fix: Fix live-lock in connection test by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3135](https://togithub.com/dragonflydb/dragonfly/pull/3135)
- chore: call breaker_cb\_ on shutdown by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3128](https://togithub.com/dragonflydb/dragonfly/pull/3128)
- chore: Add option to disable aws dependency by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3077](https://togithub.com/dragonflydb/dragonfly/pull/3077)
- feat(cluster): Add important logs by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3138](https://togithub.com/dragonflydb/dragonfly/pull/3138)
- chore: a small cleanup by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3140](https://togithub.com/dragonflydb/dragonfly/pull/3140)
- test: skip test_cluster_migration_cancel, it is broken by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3146](https://togithub.com/dragonflydb/dragonfly/pull/3146)
- chore: update helio by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3150](https://togithub.com/dragonflydb/dragonfly/pull/3150)
- fix: fix bug in cluster/slot_set by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3143](https://togithub.com/dragonflydb/dragonfly/pull/3143)
- chore: recommit client tracking by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3136](https://togithub.com/dragonflydb/dragonfly/pull/3136)
- feat(search): Tag field options (separator, case sensitivity) by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3144](https://togithub.com/dragonflydb/dragonfly/pull/3144)
- feat(search): basic FT.ALTER by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3148](https://togithub.com/dragonflydb/dragonfly/pull/3148)
- chore: Introduce pipeline back-pressure by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3152](https://togithub.com/dragonflydb/dragonfly/pull/3152)
- fix: lua and client tracking by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3163](https://togithub.com/dragonflydb/dragonfly/pull/3163)
- feat: client tracking optout by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3158](https://togithub.com/dragonflydb/dragonfly/pull/3158)
- feat: add noloop subcommand in client tracking by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3164](https://togithub.com/dragonflydb/dragonfly/pull/3164)
- fix(ci): docker not using iouring by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3169](https://togithub.com/dragonflydb/dragonfly/pull/3169)
- fix(ci): add missing docker option on reg tests workflow by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3172](https://togithub.com/dragonflydb/dragonfly/pull/3172)
- fix: acl compatibility by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3147](https://togithub.com/dragonflydb/dragonfly/pull/3147)
- chore: Streamer is rewritten with async interface by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3108](https://togithub.com/dragonflydb/dragonfly/pull/3108)
- feat(json): MSET by [@&#8203;dranikpg](https://togithub.com/dranikpg)
in
[https://github.com/dragonflydb/dragonfly/pull/3167](https://togithub.com/dragonflydb/dragonfly/pull/3167)
- fix(cluster): Wait for flow creation before cancelling it by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3159](https://togithub.com/dragonflydb/dragonfly/pull/3159)
- chore: improve ft.create for vector search by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3178](https://togithub.com/dragonflydb/dragonfly/pull/3178)
- feat: add incoming migration error processing by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3175](https://togithub.com/dragonflydb/dragonfly/pull/3175)
- chore: add parsing support for the rest of VECTOR parameters by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3179](https://togithub.com/dragonflydb/dragonfly/pull/3179)
- fix(cluster): Wait before all access to slot migrations by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3180](https://togithub.com/dragonflydb/dragonfly/pull/3180)
- fix(server): fix bug in replication on cached mode by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[https://github.com/dragonflydb/dragonfly/pull/3156](https://togithub.com/dragonflydb/dragonfly/pull/3156)
- chore: small acl compat changes by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3177](https://togithub.com/dragonflydb/dragonfly/pull/3177)
- chore: allow calling Context::ReportError from I/O dispatch fiber by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3182](https://togithub.com/dragonflydb/dragonfly/pull/3182)
- chore: add a lexer test covering KNN query by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3185](https://togithub.com/dragonflydb/dragonfly/pull/3185)
- chore(search): Add \__vector_score alias by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3186](https://togithub.com/dragonflydb/dragonfly/pull/3186)
- chore: Refactor string span management by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3165](https://togithub.com/dragonflydb/dragonfly/pull/3165)
- chore(ci): run replication tests on arm by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3168](https://togithub.com/dragonflydb/dragonfly/pull/3168)
- chore(search): improve parser error reporting by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3184](https://togithub.com/dragonflydb/dragonfly/pull/3184)
- fix(reply_builder): remove virtual modifier in SendError(ErrorReply)
method by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[https://github.com/dragonflydb/dragonfly/pull/3191](https://togithub.com/dragonflydb/dragonfly/pull/3191)
- fix(cluster): Support `FLUSHALL` while slot migration is in progress
by [@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3173](https://togithub.com/dragonflydb/dragonfly/pull/3173)
- fix: fix RegisterOnChange methods for journal and db_slice by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3171](https://togithub.com/dragonflydb/dragonfly/pull/3171)
- fix(generic_family): fix RenameGeneric command for non-string data
types by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[https://github.com/dragonflydb/dragonfly/pull/3181](https://togithub.com/dragonflydb/dragonfly/pull/3181)
- fix(server): Rename confusing flag
`replica_reconnect_on_master_restart` by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3193](https://togithub.com/dragonflydb/dragonfly/pull/3193)
- fix(unit tests): fix generic family info test by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[https://github.com/dragonflydb/dragonfly/pull/3187](https://togithub.com/dragonflydb/dragonfly/pull/3187)
- test: improve cluster_fuzzy_migration test by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3197](https://togithub.com/dragonflydb/dragonfly/pull/3197)
- chore(core): Remove DfImpl inside ScoredMap by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3199](https://togithub.com/dragonflydb/dragonfly/pull/3199)
- chore(tiering): Remove IoMgr by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3198](https://togithub.com/dragonflydb/dragonfly/pull/3198)
- test(cluster): Make sure migration maintains TTL by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3188](https://togithub.com/dragonflydb/dragonfly/pull/3188)
- feat(cluster): Support `STICK` bit in slot migration by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3200](https://togithub.com/dragonflydb/dragonfly/pull/3200)
- chore: Re-enable previously flaky test by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3196](https://togithub.com/dragonflydb/dragonfly/pull/3196)
- feat(acl): add support of multiple passwords by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3189](https://togithub.com/dragonflydb/dragonfly/pull/3189)
- chore(tiering): More advanced tiering tests by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3201](https://togithub.com/dragonflydb/dragonfly/pull/3201)
- chore: add replica-priority flag by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3204](https://togithub.com/dragonflydb/dragonfly/pull/3204)
- chore: fix tiering regtest test by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3208](https://togithub.com/dragonflydb/dragonfly/pull/3208)
- feat(generic_family): Assemble RESTORE and STICK commands into one
commmand during replication of the RENAME command by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[https://github.com/dragonflydb/dragonfly/pull/3209](https://togithub.com/dragonflydb/dragonfly/pull/3209)
- core(search): Add EF_RUNTIME parameter by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3206](https://togithub.com/dragonflydb/dragonfly/pull/3206)
- fix(sanitizers): failing json test by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3176](https://togithub.com/dragonflydb/dragonfly/pull/3176)
- feat(server): expiry notifications by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3154](https://togithub.com/dragonflydb/dragonfly/pull/3154)
- fix: replicaof_reject_on_load flake by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3203](https://togithub.com/dragonflydb/dragonfly/pull/3203)
- fix(cluster): Don't miss keys when migrating slots by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3218](https://togithub.com/dragonflydb/dragonfly/pull/3218)
- fix(tiering): Fix pending leak during immediate stash error by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3219](https://togithub.com/dragonflydb/dragonfly/pull/3219)
- chore: provide basic logging to catch possible command errors by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3213](https://togithub.com/dragonflydb/dragonfly/pull/3213)
- chore: disable tiering test by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3236](https://togithub.com/dragonflydb/dragonfly/pull/3236)
- fix(transaction): Don't transactionalize empty EVAL inside EXEC by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3231](https://togithub.com/dragonflydb/dragonfly/pull/3231)
- fix: fix deadlock in DFLYCLUSTER CONFIG command and outgoing migration
finaliztion by [@&#8203;BorysTheDev](https://togithub.com/BorysTheDev)
in
[https://github.com/dragonflydb/dragonfly/pull/3239](https://togithub.com/dragonflydb/dragonfly/pull/3239)
- chore(tiered): minor fixes + expose buffer allocation type stats by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3234](https://togithub.com/dragonflydb/dragonfly/pull/3234)
- fix(pytest): timed ticker for simpler conditions by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3242](https://togithub.com/dragonflydb/dragonfly/pull/3242)
- fix(server): Fix SCAN deadlock by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3235](https://togithub.com/dragonflydb/dragonfly/pull/3235)
- chore: introduce back-pressure to tiered storage by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3243](https://togithub.com/dragonflydb/dragonfly/pull/3243)
- chore: improve dfly_bench by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3244](https://togithub.com/dragonflydb/dragonfly/pull/3244)
- chore(tiering): External alloc free page chaining by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3237](https://togithub.com/dragonflydb/dragonfly/pull/3237)
- fix: total_stash_overflows statistic by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3248](https://togithub.com/dragonflydb/dragonfly/pull/3248)
- chore: update action versions by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3250](https://togithub.com/dragonflydb/dragonfly/pull/3250)
- chore(lua): Return which undeclared key was accessed by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3245](https://togithub.com/dragonflydb/dragonfly/pull/3245)
- chore: replace session wide fixtures with scope by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3251](https://togithub.com/dragonflydb/dragonfly/pull/3251)
- chore: pull helio and adjust mimalloc for 32MiB segments by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3174](https://togithub.com/dragonflydb/dragonfly/pull/3174)
- chore: add more logs around the duplicate value case in small_bins by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3254](https://togithub.com/dragonflydb/dragonfly/pull/3254)
- fix: fix move error during migration finalization by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3253](https://togithub.com/dragonflydb/dragonfly/pull/3253)
- chore: upload all the logs from /tmp by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3263](https://togithub.com/dragonflydb/dragonfly/pull/3263)
- fix(tiering): Throttle snapshot load by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3249](https://togithub.com/dragonflydb/dragonfly/pull/3249)
- chore: initiate grow preemptively by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3267](https://togithub.com/dragonflydb/dragonfly/pull/3267)
- chore(monitoring): add more dashboards + memcached by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3268](https://togithub.com/dragonflydb/dragonfly/pull/3268)
- fix(json_family): fix JSON.GET commmand for JSON legacy mode by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[https://github.com/dragonflydb/dragonfly/pull/3261](https://togithub.com/dragonflydb/dragonfly/pull/3261)
- chore: dfly_bench can send traffic to memcached by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3271](https://togithub.com/dragonflydb/dragonfly/pull/3271)
- chore: print effective QPS of the server. by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3274](https://togithub.com/dragonflydb/dragonfly/pull/3274)
- chore: debugging fixes by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3275](https://togithub.com/dragonflydb/dragonfly/pull/3275)
- chore: more debug checks around tiered storage by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3277](https://togithub.com/dragonflydb/dragonfly/pull/3277)
- chore(license): Fix typo in LICENSE.md text by
[@&#8203;softmoth](https://togithub.com/softmoth) in
[https://github.com/dragonflydb/dragonfly/pull/3283](https://togithub.com/dragonflydb/dragonfly/pull/3283)
- fix(test): Verify that save has not finished by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3278](https://togithub.com/dragonflydb/dragonfly/pull/3278)
- Create scorecard.yml by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3270](https://togithub.com/dragonflydb/dragonfly/pull/3270)
- chore: Disable cluster_mgr_test by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3279](https://togithub.com/dragonflydb/dragonfly/pull/3279)
- fix: Increase key count to make test more robust by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3286](https://togithub.com/dragonflydb/dragonfly/pull/3286)
- fix: properly clean tiered state upon flash by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3281](https://togithub.com/dragonflydb/dragonfly/pull/3281)
- fix(bug): crash on takeover and info replication by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[https://github.com/dragonflydb/dragonfly/pull/3282](https://togithub.com/dragonflydb/dragonfly/pull/3282)

##### New Contributors

- [@&#8203;softmoth](https://togithub.com/softmoth) made their first
contribution in
[https://github.com/dragonflydb/dragonfly/pull/3283](https://togithub.com/dragonflydb/dragonfly/pull/3283)

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

**Full Changelog**:
dragonflydb/dragonfly@v1.19.0...v1.20.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:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjYuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQyNi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19-->
kireque referenced this pull request in kireque/home-ops Jul 10, 2024
…nfly ( v1.19.2 → v1.20.1 ) (#762)

This PR contains the following updates:

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

---

### Release Notes

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

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

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

##### Dragonfly v1.20.1

This is a patch release.

fix: S3 access for loading/saving snapshots
([#&#8203;3296](https://togithub.com/dragonflydb/dragonfly/issues/3296))

Signed-off-by: kostas <[email protected]>

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

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

##### Dragonfly v1.20.0

Some prominent changes include:

- Improvements around client side caching
([#&#8203;3136](https://togithub.com/dragonflydb/dragonfly/issues/3136)
[#&#8203;3158](https://togithub.com/dragonflydb/dragonfly/issues/3158))
Specifically, rueidis is now supported
([#&#8203;2454](https://togithub.com/dragonflydb/dragonfly/issues/2454))
- Improvements around search and vector search APIs, FT.ALTER is now
supported
([#&#8203;3144](https://togithub.com/dragonflydb/dragonfly/issues/3144),
[#&#8203;3148](https://togithub.com/dragonflydb/dragonfly/issues/3148),
[#&#8203;3178](https://togithub.com/dragonflydb/dragonfly/issues/3178),
[#&#8203;3186](https://togithub.com/dragonflydb/dragonfly/issues/3186))
- JSON.MSET is added
([#&#8203;3167](https://togithub.com/dragonflydb/dragonfly/issues/3167))
- Expiry notifications are now supported
([#&#8203;3154](https://togithub.com/dragonflydb/dragonfly/issues/3154))

##### What's Changed

- test(cluster_mgr): Add tests for cluster_mgr.py by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3129](https://togithub.com/dragonflydb/dragonfly/pull/3129)
- chore: get rid of kv_args and replace it with slices to full_args by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3101](https://togithub.com/dragonflydb/dragonfly/pull/3101)
- fix: Fix live-lock in connection test by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3135](https://togithub.com/dragonflydb/dragonfly/pull/3135)
- chore: call breaker_cb\_ on shutdown by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3128](https://togithub.com/dragonflydb/dragonfly/pull/3128)
- chore: Add option to disable aws dependency by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3077](https://togithub.com/dragonflydb/dragonfly/pull/3077)
- feat(cluster): Add important logs by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3138](https://togithub.com/dragonflydb/dragonfly/pull/3138)
- chore: a small cleanup by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3140](https://togithub.com/dragonflydb/dragonfly/pull/3140)
- test: skip test_cluster_migration_cancel, it is broken by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3146](https://togithub.com/dragonflydb/dragonfly/pull/3146)
- chore: update helio by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3150](https://togithub.com/dragonflydb/dragonfly/pull/3150)
- fix: fix bug in cluster/slot_set by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3143](https://togithub.com/dragonflydb/dragonfly/pull/3143)
- chore: recommit client tracking by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3136](https://togithub.com/dragonflydb/dragonfly/pull/3136)
- feat(search): Tag field options (separator, case sensitivity) by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3144](https://togithub.com/dragonflydb/dragonfly/pull/3144)
- feat(search): basic FT.ALTER by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3148](https://togithub.com/dragonflydb/dragonfly/pull/3148)
- chore: Introduce pipeline back-pressure by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3152](https://togithub.com/dragonflydb/dragonfly/pull/3152)
- fix: lua and client tracking by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3163](https://togithub.com/dragonflydb/dragonfly/pull/3163)
- feat: client tracking optout by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3158](https://togithub.com/dragonflydb/dragonfly/pull/3158)
- feat: add noloop subcommand in client tracking by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3164](https://togithub.com/dragonflydb/dragonfly/pull/3164)
- fix(ci): docker not using iouring by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3169](https://togithub.com/dragonflydb/dragonfly/pull/3169)
- fix(ci): add missing docker option on reg tests workflow by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3172](https://togithub.com/dragonflydb/dragonfly/pull/3172)
- fix: acl compatibility by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3147](https://togithub.com/dragonflydb/dragonfly/pull/3147)
- chore: Streamer is rewritten with async interface by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3108](https://togithub.com/dragonflydb/dragonfly/pull/3108)
- feat(json): MSET by [@&#8203;dranikpg](https://togithub.com/dranikpg)
in
[https://github.com/dragonflydb/dragonfly/pull/3167](https://togithub.com/dragonflydb/dragonfly/pull/3167)
- fix(cluster): Wait for flow creation before cancelling it by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3159](https://togithub.com/dragonflydb/dragonfly/pull/3159)
- chore: improve ft.create for vector search by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3178](https://togithub.com/dragonflydb/dragonfly/pull/3178)
- feat: add incoming migration error processing by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3175](https://togithub.com/dragonflydb/dragonfly/pull/3175)
- chore: add parsing support for the rest of VECTOR parameters by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3179](https://togithub.com/dragonflydb/dragonfly/pull/3179)
- fix(cluster): Wait before all access to slot migrations by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3180](https://togithub.com/dragonflydb/dragonfly/pull/3180)
- fix(server): fix bug in replication on cached mode by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[https://github.com/dragonflydb/dragonfly/pull/3156](https://togithub.com/dragonflydb/dragonfly/pull/3156)
- chore: small acl compat changes by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3177](https://togithub.com/dragonflydb/dragonfly/pull/3177)
- chore: allow calling Context::ReportError from I/O dispatch fiber by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3182](https://togithub.com/dragonflydb/dragonfly/pull/3182)
- chore: add a lexer test covering KNN query by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3185](https://togithub.com/dragonflydb/dragonfly/pull/3185)
- chore(search): Add \__vector_score alias by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3186](https://togithub.com/dragonflydb/dragonfly/pull/3186)
- chore: Refactor string span management by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3165](https://togithub.com/dragonflydb/dragonfly/pull/3165)
- chore(ci): run replication tests on arm by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3168](https://togithub.com/dragonflydb/dragonfly/pull/3168)
- chore(search): improve parser error reporting by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3184](https://togithub.com/dragonflydb/dragonfly/pull/3184)
- fix(reply_builder): remove virtual modifier in SendError(ErrorReply)
method by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[https://github.com/dragonflydb/dragonfly/pull/3191](https://togithub.com/dragonflydb/dragonfly/pull/3191)
- fix(cluster): Support `FLUSHALL` while slot migration is in progress
by [@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3173](https://togithub.com/dragonflydb/dragonfly/pull/3173)
- fix: fix RegisterOnChange methods for journal and db_slice by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3171](https://togithub.com/dragonflydb/dragonfly/pull/3171)
- fix(generic_family): fix RenameGeneric command for non-string data
types by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[https://github.com/dragonflydb/dragonfly/pull/3181](https://togithub.com/dragonflydb/dragonfly/pull/3181)
- fix(server): Rename confusing flag
`replica_reconnect_on_master_restart` by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3193](https://togithub.com/dragonflydb/dragonfly/pull/3193)
- fix(unit tests): fix generic family info test by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[https://github.com/dragonflydb/dragonfly/pull/3187](https://togithub.com/dragonflydb/dragonfly/pull/3187)
- test: improve cluster_fuzzy_migration test by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3197](https://togithub.com/dragonflydb/dragonfly/pull/3197)
- chore(core): Remove DfImpl inside ScoredMap by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3199](https://togithub.com/dragonflydb/dragonfly/pull/3199)
- chore(tiering): Remove IoMgr by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3198](https://togithub.com/dragonflydb/dragonfly/pull/3198)
- test(cluster): Make sure migration maintains TTL by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3188](https://togithub.com/dragonflydb/dragonfly/pull/3188)
- feat(cluster): Support `STICK` bit in slot migration by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3200](https://togithub.com/dragonflydb/dragonfly/pull/3200)
- chore: Re-enable previously flaky test by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3196](https://togithub.com/dragonflydb/dragonfly/pull/3196)
- feat(acl): add support of multiple passwords by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3189](https://togithub.com/dragonflydb/dragonfly/pull/3189)
- chore(tiering): More advanced tiering tests by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3201](https://togithub.com/dragonflydb/dragonfly/pull/3201)
- chore: add replica-priority flag by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3204](https://togithub.com/dragonflydb/dragonfly/pull/3204)
- chore: fix tiering regtest test by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3208](https://togithub.com/dragonflydb/dragonfly/pull/3208)
- feat(generic_family): Assemble RESTORE and STICK commands into one
commmand during replication of the RENAME command by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[https://github.com/dragonflydb/dragonfly/pull/3209](https://togithub.com/dragonflydb/dragonfly/pull/3209)
- core(search): Add EF_RUNTIME parameter by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3206](https://togithub.com/dragonflydb/dragonfly/pull/3206)
- fix(sanitizers): failing json test by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3176](https://togithub.com/dragonflydb/dragonfly/pull/3176)
- feat(server): expiry notifications by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3154](https://togithub.com/dragonflydb/dragonfly/pull/3154)
- fix: replicaof_reject_on_load flake by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3203](https://togithub.com/dragonflydb/dragonfly/pull/3203)
- fix(cluster): Don't miss keys when migrating slots by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3218](https://togithub.com/dragonflydb/dragonfly/pull/3218)
- fix(tiering): Fix pending leak during immediate stash error by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3219](https://togithub.com/dragonflydb/dragonfly/pull/3219)
- chore: provide basic logging to catch possible command errors by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3213](https://togithub.com/dragonflydb/dragonfly/pull/3213)
- chore: disable tiering test by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3236](https://togithub.com/dragonflydb/dragonfly/pull/3236)
- fix(transaction): Don't transactionalize empty EVAL inside EXEC by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3231](https://togithub.com/dragonflydb/dragonfly/pull/3231)
- fix: fix deadlock in DFLYCLUSTER CONFIG command and outgoing migration
finaliztion by [@&#8203;BorysTheDev](https://togithub.com/BorysTheDev)
in
[https://github.com/dragonflydb/dragonfly/pull/3239](https://togithub.com/dragonflydb/dragonfly/pull/3239)
- chore(tiered): minor fixes + expose buffer allocation type stats by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3234](https://togithub.com/dragonflydb/dragonfly/pull/3234)
- fix(pytest): timed ticker for simpler conditions by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3242](https://togithub.com/dragonflydb/dragonfly/pull/3242)
- fix(server): Fix SCAN deadlock by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3235](https://togithub.com/dragonflydb/dragonfly/pull/3235)
- chore: introduce back-pressure to tiered storage by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3243](https://togithub.com/dragonflydb/dragonfly/pull/3243)
- chore: improve dfly_bench by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3244](https://togithub.com/dragonflydb/dragonfly/pull/3244)
- chore(tiering): External alloc free page chaining by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3237](https://togithub.com/dragonflydb/dragonfly/pull/3237)
- fix: total_stash_overflows statistic by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3248](https://togithub.com/dragonflydb/dragonfly/pull/3248)
- chore: update action versions by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3250](https://togithub.com/dragonflydb/dragonfly/pull/3250)
- chore(lua): Return which undeclared key was accessed by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3245](https://togithub.com/dragonflydb/dragonfly/pull/3245)
- chore: replace session wide fixtures with scope by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3251](https://togithub.com/dragonflydb/dragonfly/pull/3251)
- chore: pull helio and adjust mimalloc for 32MiB segments by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3174](https://togithub.com/dragonflydb/dragonfly/pull/3174)
- chore: add more logs around the duplicate value case in small_bins by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3254](https://togithub.com/dragonflydb/dragonfly/pull/3254)
- fix: fix move error during migration finalization by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3253](https://togithub.com/dragonflydb/dragonfly/pull/3253)
- chore: upload all the logs from /tmp by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3263](https://togithub.com/dragonflydb/dragonfly/pull/3263)
- fix(tiering): Throttle snapshot load by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3249](https://togithub.com/dragonflydb/dragonfly/pull/3249)
- chore: initiate grow preemptively by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3267](https://togithub.com/dragonflydb/dragonfly/pull/3267)
- chore(monitoring): add more dashboards + memcached by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3268](https://togithub.com/dragonflydb/dragonfly/pull/3268)
- fix(json_family): fix JSON.GET commmand for JSON legacy mode by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[https://github.com/dragonflydb/dragonfly/pull/3261](https://togithub.com/dragonflydb/dragonfly/pull/3261)
- chore: dfly_bench can send traffic to memcached by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3271](https://togithub.com/dragonflydb/dragonfly/pull/3271)
- chore: print effective QPS of the server. by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3274](https://togithub.com/dragonflydb/dragonfly/pull/3274)
- chore: debugging fixes by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3275](https://togithub.com/dragonflydb/dragonfly/pull/3275)
- chore: more debug checks around tiered storage by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3277](https://togithub.com/dragonflydb/dragonfly/pull/3277)
- chore(license): Fix typo in LICENSE.md text by
[@&#8203;softmoth](https://togithub.com/softmoth) in
[https://github.com/dragonflydb/dragonfly/pull/3283](https://togithub.com/dragonflydb/dragonfly/pull/3283)
- fix(test): Verify that save has not finished by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3278](https://togithub.com/dragonflydb/dragonfly/pull/3278)
- Create scorecard.yml by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3270](https://togithub.com/dragonflydb/dragonfly/pull/3270)
- chore: Disable cluster_mgr_test by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3279](https://togithub.com/dragonflydb/dragonfly/pull/3279)
- fix: Increase key count to make test more robust by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3286](https://togithub.com/dragonflydb/dragonfly/pull/3286)
- fix: properly clean tiered state upon flash by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3281](https://togithub.com/dragonflydb/dragonfly/pull/3281)
- fix(bug): crash on takeover and info replication by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[https://github.com/dragonflydb/dragonfly/pull/3282](https://togithub.com/dragonflydb/dragonfly/pull/3282)

##### New Contributors

- [@&#8203;softmoth](https://togithub.com/softmoth) made their first
contribution in
[https://github.com/dragonflydb/dragonfly/pull/3283](https://togithub.com/dragonflydb/dragonfly/pull/3283)

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

**Full Changelog**:
dragonflydb/dragonfly@v1.19.0...v1.20.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:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjYuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQyNi40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19-->

Co-authored-by: kireque-bot[bot] <143391978+kireque-bot[bot]@users.noreply.github.com>
lumiere-bot bot referenced this pull request in coolguy1771/home-ops Jul 13, 2024
…20.1 ) (#5021)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[ghcr.io/dragonflydb/dragonfly](https://togithub.com/dragonflydb/dragonfly)
| minor | `v1.19.2` -> `v1.20.1` |

---

### Release Notes

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

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

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

##### Dragonfly v1.20.1

This is a patch release.

fix: S3 access for loading/saving snapshots
([#&#8203;3296](https://togithub.com/dragonflydb/dragonfly/issues/3296))

Signed-off-by: kostas <[email protected]>

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

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

##### Dragonfly v1.20.0

Some prominent changes include:

- Improvements around client side caching
([#&#8203;3136](https://togithub.com/dragonflydb/dragonfly/issues/3136)
[#&#8203;3158](https://togithub.com/dragonflydb/dragonfly/issues/3158))
Specifically, rueidis is now supported
([#&#8203;2454](https://togithub.com/dragonflydb/dragonfly/issues/2454))
- Improvements around search and vector search APIs, FT.ALTER is now
supported
([#&#8203;3144](https://togithub.com/dragonflydb/dragonfly/issues/3144),
[#&#8203;3148](https://togithub.com/dragonflydb/dragonfly/issues/3148),
[#&#8203;3178](https://togithub.com/dragonflydb/dragonfly/issues/3178),
[#&#8203;3186](https://togithub.com/dragonflydb/dragonfly/issues/3186))
- JSON.MSET is added
([#&#8203;3167](https://togithub.com/dragonflydb/dragonfly/issues/3167))
- Expiry notifications are now supported
([#&#8203;3154](https://togithub.com/dragonflydb/dragonfly/issues/3154))

##### What's Changed

- test(cluster_mgr): Add tests for cluster_mgr.py by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3129](https://togithub.com/dragonflydb/dragonfly/pull/3129)
- chore: get rid of kv_args and replace it with slices to full_args by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3101](https://togithub.com/dragonflydb/dragonfly/pull/3101)
- fix: Fix live-lock in connection test by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3135](https://togithub.com/dragonflydb/dragonfly/pull/3135)
- chore: call breaker_cb\_ on shutdown by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3128](https://togithub.com/dragonflydb/dragonfly/pull/3128)
- chore: Add option to disable aws dependency by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3077](https://togithub.com/dragonflydb/dragonfly/pull/3077)
- feat(cluster): Add important logs by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3138](https://togithub.com/dragonflydb/dragonfly/pull/3138)
- chore: a small cleanup by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3140](https://togithub.com/dragonflydb/dragonfly/pull/3140)
- test: skip test_cluster_migration_cancel, it is broken by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3146](https://togithub.com/dragonflydb/dragonfly/pull/3146)
- chore: update helio by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3150](https://togithub.com/dragonflydb/dragonfly/pull/3150)
- fix: fix bug in cluster/slot_set by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3143](https://togithub.com/dragonflydb/dragonfly/pull/3143)
- chore: recommit client tracking by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3136](https://togithub.com/dragonflydb/dragonfly/pull/3136)
- feat(search): Tag field options (separator, case sensitivity) by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3144](https://togithub.com/dragonflydb/dragonfly/pull/3144)
- feat(search): basic FT.ALTER by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3148](https://togithub.com/dragonflydb/dragonfly/pull/3148)
- chore: Introduce pipeline back-pressure by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3152](https://togithub.com/dragonflydb/dragonfly/pull/3152)
- fix: lua and client tracking by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3163](https://togithub.com/dragonflydb/dragonfly/pull/3163)
- feat: client tracking optout by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3158](https://togithub.com/dragonflydb/dragonfly/pull/3158)
- feat: add noloop subcommand in client tracking by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3164](https://togithub.com/dragonflydb/dragonfly/pull/3164)
- fix(ci): docker not using iouring by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3169](https://togithub.com/dragonflydb/dragonfly/pull/3169)
- fix(ci): add missing docker option on reg tests workflow by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3172](https://togithub.com/dragonflydb/dragonfly/pull/3172)
- fix: acl compatibility by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3147](https://togithub.com/dragonflydb/dragonfly/pull/3147)
- chore: Streamer is rewritten with async interface by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3108](https://togithub.com/dragonflydb/dragonfly/pull/3108)
- feat(json): MSET by [@&#8203;dranikpg](https://togithub.com/dranikpg)
in
[https://github.com/dragonflydb/dragonfly/pull/3167](https://togithub.com/dragonflydb/dragonfly/pull/3167)
- fix(cluster): Wait for flow creation before cancelling it by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3159](https://togithub.com/dragonflydb/dragonfly/pull/3159)
- chore: improve ft.create for vector search by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3178](https://togithub.com/dragonflydb/dragonfly/pull/3178)
- feat: add incoming migration error processing by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3175](https://togithub.com/dragonflydb/dragonfly/pull/3175)
- chore: add parsing support for the rest of VECTOR parameters by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3179](https://togithub.com/dragonflydb/dragonfly/pull/3179)
- fix(cluster): Wait before all access to slot migrations by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3180](https://togithub.com/dragonflydb/dragonfly/pull/3180)
- fix(server): fix bug in replication on cached mode by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[https://github.com/dragonflydb/dragonfly/pull/3156](https://togithub.com/dragonflydb/dragonfly/pull/3156)
- chore: small acl compat changes by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3177](https://togithub.com/dragonflydb/dragonfly/pull/3177)
- chore: allow calling Context::ReportError from I/O dispatch fiber by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3182](https://togithub.com/dragonflydb/dragonfly/pull/3182)
- chore: add a lexer test covering KNN query by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3185](https://togithub.com/dragonflydb/dragonfly/pull/3185)
- chore(search): Add \__vector_score alias by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3186](https://togithub.com/dragonflydb/dragonfly/pull/3186)
- chore: Refactor string span management by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3165](https://togithub.com/dragonflydb/dragonfly/pull/3165)
- chore(ci): run replication tests on arm by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3168](https://togithub.com/dragonflydb/dragonfly/pull/3168)
- chore(search): improve parser error reporting by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3184](https://togithub.com/dragonflydb/dragonfly/pull/3184)
- fix(reply_builder): remove virtual modifier in SendError(ErrorReply)
method by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[https://github.com/dragonflydb/dragonfly/pull/3191](https://togithub.com/dragonflydb/dragonfly/pull/3191)
- fix(cluster): Support `FLUSHALL` while slot migration is in progress
by [@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3173](https://togithub.com/dragonflydb/dragonfly/pull/3173)
- fix: fix RegisterOnChange methods for journal and db_slice by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3171](https://togithub.com/dragonflydb/dragonfly/pull/3171)
- fix(generic_family): fix RenameGeneric command for non-string data
types by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[https://github.com/dragonflydb/dragonfly/pull/3181](https://togithub.com/dragonflydb/dragonfly/pull/3181)
- fix(server): Rename confusing flag
`replica_reconnect_on_master_restart` by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3193](https://togithub.com/dragonflydb/dragonfly/pull/3193)
- fix(unit tests): fix generic family info test by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[https://github.com/dragonflydb/dragonfly/pull/3187](https://togithub.com/dragonflydb/dragonfly/pull/3187)
- test: improve cluster_fuzzy_migration test by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3197](https://togithub.com/dragonflydb/dragonfly/pull/3197)
- chore(core): Remove DfImpl inside ScoredMap by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3199](https://togithub.com/dragonflydb/dragonfly/pull/3199)
- chore(tiering): Remove IoMgr by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3198](https://togithub.com/dragonflydb/dragonfly/pull/3198)
- test(cluster): Make sure migration maintains TTL by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3188](https://togithub.com/dragonflydb/dragonfly/pull/3188)
- feat(cluster): Support `STICK` bit in slot migration by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3200](https://togithub.com/dragonflydb/dragonfly/pull/3200)
- chore: Re-enable previously flaky test by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3196](https://togithub.com/dragonflydb/dragonfly/pull/3196)
- feat(acl): add support of multiple passwords by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3189](https://togithub.com/dragonflydb/dragonfly/pull/3189)
- chore(tiering): More advanced tiering tests by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3201](https://togithub.com/dragonflydb/dragonfly/pull/3201)
- chore: add replica-priority flag by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3204](https://togithub.com/dragonflydb/dragonfly/pull/3204)
- chore: fix tiering regtest test by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3208](https://togithub.com/dragonflydb/dragonfly/pull/3208)
- feat(generic_family): Assemble RESTORE and STICK commands into one
commmand during replication of the RENAME command by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[https://github.com/dragonflydb/dragonfly/pull/3209](https://togithub.com/dragonflydb/dragonfly/pull/3209)
- core(search): Add EF_RUNTIME parameter by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3206](https://togithub.com/dragonflydb/dragonfly/pull/3206)
- fix(sanitizers): failing json test by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3176](https://togithub.com/dragonflydb/dragonfly/pull/3176)
- feat(server): expiry notifications by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3154](https://togithub.com/dragonflydb/dragonfly/pull/3154)
- fix: replicaof_reject_on_load flake by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3203](https://togithub.com/dragonflydb/dragonfly/pull/3203)
- fix(cluster): Don't miss keys when migrating slots by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3218](https://togithub.com/dragonflydb/dragonfly/pull/3218)
- fix(tiering): Fix pending leak during immediate stash error by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3219](https://togithub.com/dragonflydb/dragonfly/pull/3219)
- chore: provide basic logging to catch possible command errors by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3213](https://togithub.com/dragonflydb/dragonfly/pull/3213)
- chore: disable tiering test by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3236](https://togithub.com/dragonflydb/dragonfly/pull/3236)
- fix(transaction): Don't transactionalize empty EVAL inside EXEC by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3231](https://togithub.com/dragonflydb/dragonfly/pull/3231)
- fix: fix deadlock in DFLYCLUSTER CONFIG command and outgoing migration
finaliztion by [@&#8203;BorysTheDev](https://togithub.com/BorysTheDev)
in
[https://github.com/dragonflydb/dragonfly/pull/3239](https://togithub.com/dragonflydb/dragonfly/pull/3239)
- chore(tiered): minor fixes + expose buffer allocation type stats by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3234](https://togithub.com/dragonflydb/dragonfly/pull/3234)
- fix(pytest): timed ticker for simpler conditions by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3242](https://togithub.com/dragonflydb/dragonfly/pull/3242)
- fix(server): Fix SCAN deadlock by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3235](https://togithub.com/dragonflydb/dragonfly/pull/3235)
- chore: introduce back-pressure to tiered storage by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3243](https://togithub.com/dragonflydb/dragonfly/pull/3243)
- chore: improve dfly_bench by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3244](https://togithub.com/dragonflydb/dragonfly/pull/3244)
- chore(tiering): External alloc free page chaining by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3237](https://togithub.com/dragonflydb/dragonfly/pull/3237)
- fix: total_stash_overflows statistic by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3248](https://togithub.com/dragonflydb/dragonfly/pull/3248)
- chore: update action versions by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3250](https://togithub.com/dragonflydb/dragonfly/pull/3250)
- chore(lua): Return which undeclared key was accessed by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3245](https://togithub.com/dragonflydb/dragonfly/pull/3245)
- chore: replace session wide fixtures with scope by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3251](https://togithub.com/dragonflydb/dragonfly/pull/3251)
- chore: pull helio and adjust mimalloc for 32MiB segments by
[@&#8203;kostasrim](https://togithub.com/kostasrim) in
[https://github.com/dragonflydb/dragonfly/pull/3174](https://togithub.com/dragonflydb/dragonfly/pull/3174)
- chore: add more logs around the duplicate value case in small_bins by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3254](https://togithub.com/dragonflydb/dragonfly/pull/3254)
- fix: fix move error during migration finalization by
[@&#8203;BorysTheDev](https://togithub.com/BorysTheDev) in
[https://github.com/dragonflydb/dragonfly/pull/3253](https://togithub.com/dragonflydb/dragonfly/pull/3253)
- chore: upload all the logs from /tmp by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3263](https://togithub.com/dragonflydb/dragonfly/pull/3263)
- fix(tiering): Throttle snapshot load by
[@&#8203;dranikpg](https://togithub.com/dranikpg) in
[https://github.com/dragonflydb/dragonfly/pull/3249](https://togithub.com/dragonflydb/dragonfly/pull/3249)
- chore: initiate grow preemptively by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3267](https://togithub.com/dragonflydb/dragonfly/pull/3267)
- chore(monitoring): add more dashboards + memcached by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3268](https://togithub.com/dragonflydb/dragonfly/pull/3268)
- fix(json_family): fix JSON.GET commmand for JSON legacy mode by
[@&#8203;BagritsevichStepan](https://togithub.com/BagritsevichStepan) in
[https://github.com/dragonflydb/dragonfly/pull/3261](https://togithub.com/dragonflydb/dragonfly/pull/3261)
- chore: dfly_bench can send traffic to memcached by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3271](https://togithub.com/dragonflydb/dragonfly/pull/3271)
- chore: print effective QPS of the server. by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3274](https://togithub.com/dragonflydb/dragonfly/pull/3274)
- chore: debugging fixes by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3275](https://togithub.com/dragonflydb/dragonfly/pull/3275)
- chore: more debug checks around tiered storage by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3277](https://togithub.com/dragonflydb/dragonfly/pull/3277)
- chore(license): Fix typo in LICENSE.md text by
[@&#8203;softmoth](https://togithub.com/softmoth) in
[https://github.com/dragonflydb/dragonfly/pull/3283](https://togithub.com/dragonflydb/dragonfly/pull/3283)
- fix(test): Verify that save has not finished by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3278](https://togithub.com/dragonflydb/dragonfly/pull/3278)
- Create scorecard.yml by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3270](https://togithub.com/dragonflydb/dragonfly/pull/3270)
- chore: Disable cluster_mgr_test by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3279](https://togithub.com/dragonflydb/dragonfly/pull/3279)
- fix: Increase key count to make test more robust by
[@&#8203;chakaz](https://togithub.com/chakaz) in
[https://github.com/dragonflydb/dragonfly/pull/3286](https://togithub.com/dragonflydb/dragonfly/pull/3286)
- fix: properly clean tiered state upon flash by
[@&#8203;romange](https://togithub.com/romange) in
[https://github.com/dragonflydb/dragonfly/pull/3281](https://togithub.com/dragonflydb/dragonfly/pull/3281)
- fix(bug): crash on takeover and info replication by
[@&#8203;adiholden](https://togithub.com/adiholden) in
[https://github.com/dragonflydb/dragonfly/pull/3282](https://togithub.com/dragonflydb/dragonfly/pull/3282)

##### New Contributors

- [@&#8203;softmoth](https://togithub.com/softmoth) made their first
contribution in
[https://github.com/dragonflydb/dragonfly/pull/3283](https://togithub.com/dragonflydb/dragonfly/pull/3283)

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

**Full Changelog**:
dragonflydb/dragonfly@v1.19.0...v1.20.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:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjYuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQyNi40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19-->

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.

ACL permits set command when write category is allowed but set command is not
2 participants