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

2119 commits

Author SHA1 Message Date
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
Tarun Pothulapati
0f613d8f85
fix(ci/helm): Stick to v0.73.0 version of prom operator (#2893) 2024-04-12 10:36:49 +00:00
Vladislav
1dd068c9a6
chore(interpreter): Support object replies (#2885)
This PR allows serializing lua tables into the RESP format

---------

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-04-12 09:56:53 +03:00
Vladislav
5979fd1cb9
chore(tiering): Move files and move kb literal to common (#2868)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-04-11 16:37:29 +03:00
Roman Gershman
2a4d3ae08e
chore: clean up REPLTAKEOVER flow (#2887)
* chore: clean up REPLTAKEOVER flow

1. Factor out the catchup function.
2. Simplify the flow and make the second parameters - integer.
3. Return OK if the server is already a master (and do nothing underneath).

---------

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-04-11 16:18:06 +03:00
adiholden
7580a88ca5
feat server: bring visibility to script errors (#2879)
* feat server: bring visibility to script errorד

Signed-off-by: adi_holden <adi@dragonflydb.io>
2024-04-11 11:25:41 +03:00
zixuan zhao
48d7fa7eba
Add support for Sparse HLL PFADD (#2761)
* Going to rewrite hllSparseSet

* Add support to sparse hll

* Add support for PFAdd Sparse

* Add support for PFAdd Sparse

* Add support for PFAdd Sparse

* Add support for Sparse HLL PFADD

Signed-off-by: azuredream <zhaozixuan67@gmail.com>

* Add support for Sparse HLL PFADD

Signed-off-by: azuredream <zhaozixuan67@gmail.com>

* Add support for Sparse HLL PFADD

Signed-off-by: azuredream <zhaozixuan67@gmail.com>

* Add support for Sparse HLL PFADD

Signed-off-by: azuredream <zhaozixuan67@gmail.com>

* Add support for Sparse HLL PFADD

Signed-off-by: azuredream <zhaozixuan67@gmail.com>

* Add support for Sparse HLL PFADD

Signed-off-by: azuredream <zhaozixuan67@gmail.com>

* Add support for Sparse HLL PFADD

Signed-off-by: azuredream <zhaozixuan67@gmail.com>

* Add support for Sparse HLL PFADD

Signed-off-by: azuredream <zhaozixuan67@gmail.com>

---------

Signed-off-by: azuredream <zhaozixuan67@gmail.com>
2024-04-11 10:54:59 +03:00
Roman Gershman
f2b6daa3c5
chore: reject TLS handshake when our listener is plain TCP (#2882)
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-04-11 08:05:01 +03:00
Roman Gershman
da5c51d1dd
chore: LockTable tracks fingerprints of keys (#2839)
* chore: LockTable tracks fingerprints of keys

It's a first step that will probably simplify dependencies in many places
where we need to keep key strings for that. A second step will be to reduce the CPU load
of multi-key operations like MSET and precompute Fingerprints once.

---------

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-04-10 17:52:53 +03:00
Kostas Kyrimis
56a7f85e39
fix: brpoplpush single shard to wake up blocked transactions (#2875)
* wake up blocked transactions on single shard
2024-04-10 16:59:33 +03:00
Vladislav
3e270fee53
chore(replayer): Roll back to go1.18 (#2881) 2024-04-10 16:58:51 +03:00
Kostas Kyrimis
1bcbb41ec3
chore: relax repltakeover constraints to only exclude write commands (#2873)
* relax repltakeover constraints
2024-04-10 16:58:34 +03:00
Roman Gershman
dd437693f6
chore: limit traffic logger only to the main interface (#2877) 2024-04-10 14:27:55 +03:00