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

2817 commits

Author SHA1 Message Date
Roman Gershman
1bdd56c973
chore: pass SinkReplyBuilder and Transaction explicitly. Part10 (#3998) 2024-10-28 16:18:52 +02:00
Roman Gershman
41d8c66a15
fix: flaky test_failover test (#4007)
Prevent from checking replica too early,
to avoid "Loading" exception.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-28 14:58:36 +02:00
Roman Gershman
b9c1aaec90
chore: introduce GcsSnapshotStorage (#4004)
It's not been used yet so no functional changes.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-28 09:57:58 +00:00
Roman Gershman
c2710604de
chore: refactor snapshot expanding logic (#4003)
S3 and file expansion logic had some duplicate code.
this PR refactors it before adding GCS support.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-28 10:08:10 +02:00
Roman Gershman
db6504564d
chore: clean up conn_use_incoming_cpu heuristic (#3978)
Add a comment explaining when it can be useful.
It usually won't work without tuning the host first.
See https://docs.kernel.org/networking/scaling.html
for more details.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-28 09:54:44 +02:00
Roman Gershman
b0d52c69ba
feat: introduce metrics/logs of when pipelining is being throttled (#4000)
* feat: introduce metrics/logs of when pipelining is being throttled

Fixes #3999 following up on discussion at #3997.
---------

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-28 09:15:04 +02:00
Stepan Bagritsevich
5dcad859b0
fix(search_family): Fix indexes loading in the FT.SEARCH and Ft.AGGREGATE commands (#3955)
fixes dragonflydb#3782, dragonflydb#3659

Signed-off-by: Stsiapan Bahrytsevich <stefan@dragonflydb.io>
2024-10-27 21:14:02 +01:00
BLANKatGITHUB
851e43211e
refactor(workflow): changes default permissions to read for few workflows increasing security (#3905)
* refactor: makes read default permision

---------

Signed-off-by: BLANKatGITHUB <131886247+BLANKatGITHUB@users.noreply.github.com>
2024-10-26 19:58:23 +03:00
Roman Gershman
c895b96274
fix: keep the ttl bit when dense_set grows with expiring items (#3995)
Add a test that triggerred a corner case with assertion failure.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-25 22:29:54 +03:00
Roman Gershman
408a8a33f2
chore: pass SinkReplyBuilder and Transaction explicitly. Part9 (#3996) 2024-10-25 16:51:37 +03:00
Roman Gershman
ef09052482
chore: pass SinkReplyBuilder and Transaction explicitly. Part7 (#3988)
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-25 13:32:51 +03:00
Roman Gershman
a2a5e3179a
chore: pass SinkReplyBuilder and Transaction explicitly. Part8 (#3992) 2024-10-25 13:32:28 +03:00
Vladislav
eb9b6890b0
feat(search): Prefix search for tags (#3972) 2024-10-25 08:47:27 +03:00
Borys
0a62f6b6ba
fix: prevent starting migrations from replica (#3985) 2024-10-25 08:41:26 +03:00
Kostas Kyrimis
79963f9a10
fix: replace string_view with string in RaxTreeMap::FindIterator (#3982)
* fixes dangling pointer caused by find()
* fixes memory leak in the destructor

Signed-off-by: kostas <kostas@dragonflydb.io>
2024-10-24 23:49:24 +03:00
Roman Gershman
5ce3d82663
fix: properly set ttl bit during object replacement (#3991)
fixes #3984

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-24 23:47:37 +03:00
Ishmael Rufus
7b5fc9a244
fix(build): Reduced checks permission in build to read #3821 (#3916)
Reduced permission to read
2024-10-24 21:35:49 +03:00
Roman Gershman
7035606b4b
chore: pass SinkReplyBuilder and Transaction explicitly. Part6 (#3987) 2024-10-24 18:47:18 +03:00
Roman Gershman
16f59d33f9
chore: pass SinkReplyBuilder and Transaction explicitly. Part5 (#3976)
This PR changes list_family.
zset_family has not been changed yet - the code is just moved to the anonymous namespace.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-24 17:16:43 +03:00
Kostas Kyrimis
b7160404ed
fix: dangling string in DebugCmd::Reload (#3981)
Assigning the result of absl::AsciiStrToUpper() to a string_view dangles

Signed-off-by: kostas <kostas@dragonflydb.io>
2024-10-24 09:57:16 +00:00
Kostas Kyrimis
805f0203b9
fix(memory-leak): add missing destructor to RaxTreeMap (#3975)
The destructor of RaxTreeMap was missing causing memory leak.

Signed-off-by: kostas <kostas@dragonflydb.io>
2024-10-24 12:45:11 +03:00
Roman Gershman
a4659c0843
fix: properly set object with DenseLinkKey (#3980)
The interface around DenseLinkKey is confusing but SetObject
works only for non-link objects.
Added assert to catch these issues in the future.

Fixes #3973

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-24 08:38:43 +00:00
Roman Gershman
132ffe0920
chore: reduce dependency of debug/memory commands on ConnectionContext (#3977)
chore: reduce dependency of debug/dfly/memory commands on ConnectionContext
2024-10-24 10:24:18 +03:00
Roman Gershman
4aa0ca1ef7
chore: get rid of MutableSlice (#3952)
* chore: get rid of MutableSlice

Signed-off-by: Roman Gershman <roman@dragonflydb.io>

* chore: comments

---------

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-23 21:50:39 +03:00
Roman Gershman
0ebc1a11e1
chore: pass SinkReplyBuilder and Transaction explicitly. Part4 (#3967) 2024-10-23 21:21:46 +03:00
Andy Dunstall
70614b8d40
fix(cluster): fix backoff on unknown migration (#3965) 2024-10-23 15:35:50 +01:00
Borys
c80d21fcba
fix: crash if we OOM during migration process (#3968) 2024-10-23 17:04:08 +03:00
Roman Gershman
bf42eb0330
chore: pass SinkReplyBuilder and Transaction explicitly. Part3 (#3966) 2024-10-23 11:10:01 +00:00
Roman Gershman
e24f697bb3
chore: pass SinkReplyBuilder and Transaction explicitly. Part2 (#3954)
This pr follows #3946

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-23 11:54:24 +03:00
Kostas Kyrimis
c5a8008348
chore: add defrag logic for zsets (#3836)
* add defrag logic for zsets
* add tests

---------

Signed-off-by: kostas <kostas@dragonflydb.io>
2024-10-23 10:56:56 +03:00
Stepan Bagritsevich
ea9dc9c454
chore(fakeredis): Enable JSON tests in the Fakeredis tests (#3773)
* chore(fakeredis): Enable JSON tests in the Fakeredis tests

fixes dragonflydb#3671

Signed-off-by: Stsiapan Bahrytsevich <stefan@dragonflydb.io>

* refactor: address comments

Signed-off-by: Stsiapan Bahrytsevich <stefan@dragonflydb.io>

* tmp commit

Signed-off-by: Stsiapan Bahrytsevich <stefan@dragonflydb.io>

* refactor: address comments 2

Signed-off-by: Stsiapan Bahrytsevich <stefan@dragonflydb.io>

---------

Signed-off-by: Stsiapan Bahrytsevich <stefan@dragonflydb.io>
2024-10-23 08:53:14 +02:00
Kostas Kyrimis
37fec87070
chore: increase load in test_noreply_pipeline (#3960)
Test is flaky because it relies that the producer (the pytest) to send fast enough a bunch of commands before they get dispatched synchronously so I increased the load.
2024-10-22 21:00:25 +03:00
Borys
dec0712e15
test: add test to test big collections or collections with big values (#3959) 2024-10-22 15:01:32 +03:00
Kostas Kyrimis
119723316e
chore: tune test_rss_used_mem_gap (#3958)
It appears that newer versions of the gh runner require more memory. Some cases of the test test_rss_used_mem_gap allocate more than 6.5-7 gb of memory leaving barely 0.5gb to the gh runner (7.5 in total available) which sometimes cause the instance to run out of memory.
2024-10-22 10:31:13 +03:00
Stepan Bagritsevich
e96a99a868
fix(search_family): Temporary remove the error when a field name does not have the '@' sign at the beginning in the FT.AGGREGATE command (#3956) 2024-10-21 18:35:23 +02:00
Kostas Kyrimis
478a5d476d
chore: disable test_cluster_memory_consumption_migration (#3948)
Test takes more than 10 minutes on the CI and it causes it to timeout
2024-10-21 08:41:15 +03:00
Roman Gershman
3028314701
chore: pass SinkReplyBuilder and Transaction explicitly. Part1 (#3946)
For some of our commands we need to inject another transaction and another SinkReplyBuilder.
This results into error-prone injections of temporary objects into ConnectionContext.
Most commands just need Transaction and SinkReplyBuilder, so lets pass them explicitly.
The final goal will be to remove Transaction and reply_builder fields from ConnectionContext.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-20 19:54:50 +03:00
Roman Gershman
f0c30a6d59
feat: track request sizes histograms (#3951)
This PR introduces "DEBUG RECVSIZE ENABLE|DISABLE|tid"
command that allows tracking of request sizes.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-20 19:54:34 +03:00
Vladislav
32a31cf1d8
chore(facade): Fix bad new IO glue (#3940)
* chore(facade): Fix bad new IO glue

---------

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-10-18 23:25:56 +03:00
Roman Gershman
14220a6a20
chore: get rid of ToUpper/ToLower mutations on arguments (#3950)
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-18 23:23:59 +03:00
Roman Gershman
84e22aa658
chore: remove ToUpper calls in main_service (#3947)
* chore: remove ToUpper calls in main_service

Also, test for IsPaused() first to avoid doing more checks for common-case.

---------

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-18 14:04:47 +00:00
Roman Gershman
a7c9fde38e
chore: get rid of ToUpper call and use AsciiStrToUpper (#3944)
Also remove std:: in bitops family to reduce noise.
No functional changes.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-18 12:47:40 +03:00
Roman Gershman
5ab32b97d9
chore(refactoring): header clean ups (#3943)
Move privately used header code to cc files. Remove redunandant includes.
No functional changes.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-18 12:47:26 +03:00
Borys
866c82a3fa
test: add test to reproduce a lot of memory consumtion during migration (#3939) 2024-10-17 14:23:26 +03:00
Borys
ef814f6670
chore: ignore applying the same cluster config twice (#3932) 2024-10-16 09:07:01 +03:00
romange
98bb5da67d chore(helm-chart): update to v1.24.0 2024-10-16 05:56:17 +00:00
Vladislav
7870f59466
chore(search): Fix deprecated functions (#3933)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-10-15 22:50:22 +03:00
Roman Gershman
e9e169d074
fix: dragonfly_connection should only access the original reply_builder (#3924)
ConnectionContext.reply_builder can be injected and replaced by the service logic.
before - dragonfly_connection accessed it via cc_->reply_builder in some places,
which led it to access the injected object. Moreover, EVAL commands can be offloaded
to another thread and that thread could inject the object, making the access to cc_->reply_builder_
non thread-safe.

Now dragonfly_connection copies aside the replier_builder_ pointer, and uses only this pointer for communicating with client.

Also, remove redundant arguments.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-15 15:37:50 +03:00
Shahar Mike
c3f9ec18ae
fix: Fix test_flushall_in_full_sync (#3929)
* fix: Fix `test_flushall_in_full_sync`

This test failed in CI many times. The issue was that we reach stable
sync too quickly, and miss the full sync stage.

I changed the seeder to add 100k (instead of 30k) keys for the stage to
take longer.

* StaticSeeder
2024-10-15 11:48:32 +00:00
adiholden
a1830e1b5e
feat(server): use listpack node encoding for list (#3914)
Signed-off-by: adi_holden <adi@dragonflydb.io>
2024-10-15 13:55:26 +03:00