1
0
Fork 0
mirror of https://github.com/dragonflydb/dragonfly.git synced 2024-12-14 11:58:02 +00:00
Commit graph

2131 commits

Author SHA1 Message Date
Borys
654ec9f1c4
feat: add slot migration error processing (#2957)
* feat: add slot migration error processing
2024-04-29 10:51:23 +03:00
Vladislav
1abd7e5fd3
feat(tiering): Registered buffers (#2967)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-04-29 10:00:07 +03:00
Kostas Kyrimis
bbe6c8579a
fix(pytests): replace proc.wait() with proc.communicate() to avoid deadlocks (#2964)
* replace proc.wait() with proc.communicate() to avoid deadlocks
2024-04-26 13:22:33 +03:00
Vladislav
82dd05fe30
chore: Remove TieringV1 (#2962)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-04-26 11:01:05 +03:00
Roman Gershman
8000220209
feat: extended bracket index in jsonpath (#2954)
Before this change, we only allowed a single non-negative index or a wildcard inside brackets [].
For example, "$.foo[1]".
This PR extends the indexing expression to negative indices. It also builds up the foundation
to support [begin:end] slices, though this has not been implemented in this PR.

Finally, it adds more coverage to tests.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-04-24 23:34:41 +03:00
Vladislav
8c38076913
feat(tiering): Support append (and modifications in general) (#2949)
* feat(tiering): Modify for OpManager

---------

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-04-24 18:49:18 +03:00
adiholden
d5cd0ed204
fixes for v1.18.0 (#2956)
* fix server: change table_growth_margin default value

---------

Signed-off-by: adi_holden <adi@dragonflydb.io>
2024-04-24 18:21:14 +03:00
Vladislav
df598e4825
chore: Log db_index in traffic logger (#2951)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-04-24 15:13:53 +03:00
Roman Gershman
89b1d7d52a
chore: Introduce ShardArgs as a distinct type (#2952)
Done in preparation to make ShardArgs a smart iterable type,
but currently it's just a wrapper aroung ArgSlice.
Also refactored common.{h,cc} into tx_base.{h,cc}

In addition, fixed a bug in key tracking, where we wrongly created weak_ref
in a shard thread instead of doing this in the coordinator thread.
Finally, identified another bug (not fixed yet) where we track all the arguments
instead of tracking keys only.

Besides this, no functional changes around the moved code.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-04-24 13:36:34 +03:00
Borys
2230397a12
refactor: add cluster namespace (#2948)
* refactor: add cluster namespace, remove extra includes
2024-04-22 21:45:43 +03:00
Vladislav
1a5eacca87
chore: Pull helio with new future (#2944) 2024-04-22 20:18:10 +03:00
Joe Zhou
84aa237ba7
chore(acl): adjust some ACL command responses (#2943)
* change ACL DELUSER, ACL WHOAMI, and some ACL DRYRUN string/integer responses.
* change ACL GETUSER response, when the user does not exist, it should reply (nil).
2024-04-22 18:14:47 +03:00
Vladislav
e78b909b96
feat(tiering): Get, GetSet, Set test (#2921)
Get, GetSet, Set test

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-04-22 13:55:17 +03:00
Roman Gershman
3d609504d0
chore: adjust transaction code to keystep/3 commands (#2941) 2024-04-21 14:20:57 +00:00
Mirko Raca
d2a08e2c3c
feat(metrics): adding max_clients to metrics and info output (#2912) (#2940)
feat: adding max_clients to metrics and info output (#2912)

Signed-off-by: Mirko Raca <racamirko@gmail.com>
2024-04-21 14:40:11 +03:00
Roman Gershman
734ba80983
fix: introduce info_replication_valkey_compatible flag (#2936)
This fixes compatibility issues with frameworks like Lettuce Java that expect exact words when parsing INFO response.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-04-21 12:08:53 +03:00
Roman Gershman
2ff7ff9841
chore: get rid of lock keys (#2894)
* chore: get rid of lock keys

1. Introduce LockTag a type representing the part of the key that is used for locking.
2. Hash keys once in each transaction.
3. Expose swap_memory_bytes metric.

---------

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-04-21 11:34:42 +03:00
Roman Gershman
9b9c32c91d
chore: Remove Schedule() call (#2938)
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-04-21 11:32:44 +03:00
Shahar Mike
322b2e7ac1
fix(test): Unflake fuzzy cluster migration test (#2927)
* WIP WIP WIP: Test if fuzzy migration test is still flaky

* tune down

* rm ci changes
2024-04-19 23:04:01 +03:00
Borys
9a6a9ec198
feat: add ability reaply config with migration #2924 (#2926)
* feat: add ability reaply config with migration #2924
2024-04-19 16:21:54 +03:00
Borys
7666aae6dc
Slot migration cancel crash fix (#2934)
fix(cluster): crash #2928
2024-04-19 14:31:42 +03:00
Roman Gershman
c42b3dc02f
chore: bring more clarity when replayer fails (#2933) 2024-04-19 10:49:32 +00:00
Kostas Kyrimis
e08cf3a4ee
fix: socket closed when RegisterOnErrorCb is called in HandleRequests (#2932)
* fix  DCHECK(socket->IsOpen) when RegisterOnErrorCb is called in HandleRequests
2024-04-19 09:50:09 +00:00
Tarun Pothulapati
6545809852
Namespace support in prometheus rule (#2931)
* helm templating and test cases for namespace support in prometheus rule crd

* updated prometheus rules

---------

Co-authored-by: Yash Jagdale <yash@databahn.ai>
Co-authored-by: Roman Gershman <roman@dragonflydb.io>
2024-04-19 09:31:29 +00:00
Roman Gershman
7226024a9f
chore: improve reply latency of SendScoredArray (#2929)
* chore: improve reply latency of SendScoredArray

Use SendStringArrInternal that reduces dramatically number of socket calls for long arrays.

---------

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-04-18 22:39:51 +03:00
Roman Gershman
9289f12dc3
fix: Improve reply latency of HELLO (#2925)
For high connection rate cases it can be significant.
In addition, refactor reply_builder so we could use SendStringArrInternal
for more cases like SendScoredArray that also has high latency overhead for replies.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
Co-authored-by: romange <romange@users.noreply.github.com>
2024-04-18 15:41:42 +03:00
Vladislav
9b6ee18e90
chore(string_family): Refactor SetCmd (#2919)
* chore(string_family): Refactor SetCmd

---------

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-04-18 10:41:02 +03:00
romange
e352edd018 chore(helm-chart): update to v1.17.1 2024-04-18 05:09:32 +00:00
Borys
81fc57a5a9
feat: process migration data after FIN opcode #2864 (#2918)
* feat: process migration data after FIN opcode #2864
2024-04-17 23:16:49 +03:00
Shahar Mike
56965edbe1
feat(cluster): Migration cancellation support (#2869) 2024-04-17 13:19:31 +03:00
Vladislav
bb238ba33a
chore(tiering): Fix MacOs build (#2913) 2024-04-17 07:38:51 +00:00
Vladislav
64d963dbbe
fix(transaction): Use FinishHop in schedule (#2911) 2024-04-17 09:24:27 +03:00
Roman Gershman
8030ee96b5
chore: preparation step for lock fingerprints (#2899)
The main change here is introduction of the strong type LockTag
that differentiates from a string_view key.

Also, some testing improvements to improve the footprint of the next PR.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-04-16 19:23:50 +03:00
Vladislav
4fe00a071e
chore(tiering): Update Get, Set, Del (#2897)
* chore(tiering): Update Get, Set and Del


---------

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-04-16 19:20:24 +03:00
Borys
d99b0eda16
feat: retry ACK if the configs are different #2833 (#2906)
* feat: retry ACK if the configs are different #2833
2024-04-16 15:03:30 +03:00
romange
f58ded488c chore(helm-chart): update to v1.17.0 2024-04-16 09:48:29 +00:00
Roman Gershman
5c422e39ee
chore: add ipv6 support for native linux release (#2908) 2024-04-16 06:56:33 +00:00
Vladislav
468942ccbb
chore: pull helio and add ipv6 replication test (#2889)
* chore: pull helio and add ipv6 replication test

---------

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-04-15 15:37:22 +03:00
Kostas Kyrimis
86559a29db
fix(sanitizers): false positive fail on multi_test::Eval (#2896)
* disable false positives
2024-04-15 15:15:42 +03:00
Roman Gershman
868e7a04ce
chore: add help string for memory_fiberstack_vms_bytes (#2903) 2024-04-15 13:45:08 +03:00
Borys
55447e28ff
fix: fix ld for num converting (#2902) 2024-04-15 11:35:19 +03:00
Shahar Mike
2b6a5e5039
fix(zset): Better memory consumption calculation (#2900)
Fixes #2808
2024-04-15 11:34:46 +03:00
Kostas Kyrimis
c87cc22c5d
fix(acl): skip http and add check on connection traversals (#2883)
* skip http and add check on connection traversals for ACL
2024-04-15 10:08:26 +03:00
adiholden
9cbe69576e
fix(cluster_replication): replicate redis cluster node bug fix (#2876)
* fix redis replication error handling and set cntx as journal emulated


Signed-off-by: adi_holden <adi@dragonflydb.io>
2024-04-14 22:49:00 +03:00
Borys
a5e27af1e5
fix: fix build under macos (#2901) 2024-04-14 16:28:07 +03:00
Shahar Mike
256e07f8ba
feat(server): Allow configuration of hashtag extraction (#2890)
* feat(server): Allow configuration of hashtag extraction

Before this PR: Hashtags, if enabled, meant the text between `{` and `}`
in the key (if exists and non-empty).

After this PR:

* Hashtags can _still_ be enabled / disabled
* Hashtag open / close char can be specified (and can be the same), like `:` popular with BullMQ
* Hashtag can include `N` closing tags to skip, like `{a}b}c}d` with `2` will return `a}b}c`.

This will allow some existing systems to migrate without code changes in
client code.
2024-04-14 15:09:41 +03:00
Roman Gershman
f6f7cfb2c9
chore: add a clear link on how to build dragonfly from source (#2884) 2024-04-12 22:12:36 +03:00
Vladislav
0693846d9b
chore(blocking): Remove faulty DCHECK (#2898)
* chore(blocking): Remove faulty DCHECK

---------

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-04-12 22:11:47 +03:00
Borys
9bed3390d7
feat(cluster): add repeated ACK if an error is happened (#2892) 2024-04-12 16:20:19 +03:00
Kostas Kyrimis
c2f13993d9
fix(acl): authentication with UDS socket (#2895)
* disable authentication on UDS socket
* add a test so the bug won't happen again
2024-04-12 16:01:12 +03:00