Kostas Kyrimis
4859077122
chore(DenseSet): defrag all links in a chain ( #4019 )
...
* add defrag for all nodes in a link chain
* add tests
---------
Signed-off-by: kostas <kostas@dragonflydb.io>
2024-11-04 08:34:22 +00:00
Roman Gershman
76b1f537b5
chore: refactor part of s3 logic for loading a snapshot. ( #4044 )
...
Is done as preparation to share some of its code with GCS implementation.
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-11-04 10:13:53 +02:00
Kostas Kyrimis
e103254cf9
chore: add tx queue head debug info in AnalyzeTxQueue ( #4026 )
...
* add tx queue head debug info in AnalyzeTxQueue
Signed-off-by: kostas <kostas@dragonflydb.io>
2024-11-04 09:41:18 +02:00
Borys
e4b468d953
fix: reduce memory consumption during migration ( #4017 )
...
* refactor: reduce memory consumption for RestoreStreamer
* fix: add Throttling into RestoreStreamer::WriteBucket
2024-11-03 17:03:45 +02:00
Borys
cd2ab4a585
chore: decrease logs severity for OOM from error to warning ( #4031 )
2024-11-01 11:12:28 +02:00
Roman Gershman
d10e76b408
chore: support load/save from GCS ( #4006 )
...
Not everything is supported but manual load save is supported.
1. Run dragonfly with `--dir gs://bucket/path`
2. In redis-cli:
a. SET foo bar
b. SAVE DF gsdump
c. DFLY LOAD gs://bucket/path/gsdump-summary.dfs
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-30 13:57:58 +02:00
Kostas Kyrimis
daf8604175
chore: flush journal to channel for non auto journal commands ( #3945 )
...
* flush journal to channel for non auto journal commands
2024-10-30 12:09:01 +02:00
Roman Gershman
6f6897cef1
chore: pass RedisReplyBuilder explicitly from dragonfly connection ( #4009 )
...
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-29 14:52:09 +02:00
Kostas Kyrimis
566f246cee
chore: skip AggregateWithLoadOptionHard on sanitizers (false positive) ( #4013 )
...
The test fails because of false positive so I disabled it.
Signed-off-by: kostas <kostas@dragonflydb.io>
2024-10-29 14:26:50 +02:00
Roman Gershman
7737bb46f8
chore: improve verbosity logging during shutdown ( #4010 )
...
Increase verbosity levels of uring_proactor if deadlock was detected in debug mode.
Also allow optionally to disable periodic fiber, which sometimes helps during the debugging.
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-29 13:45:57 +02:00
Kostas Kyrimis
4b495182e8
fix: separate Heartbeat and ShardHandler to fibers ( #3936 )
...
* separate shard_handler from Heartbeat
* add test
---------
Signed-off-by: kostas <kostas@dragonflydb.io>
2024-10-29 09:22:53 +02:00
Diskein
f16a32582e
feat(zset_family): support WITHSCORE in zrevrank/zrank commands ( #3921 ) ( #4001 )
...
Signed-off-by: Diskein <kalantaevskii@gmail.com>
2024-10-29 04:44:27 +02:00
Roman Gershman
92be74f4e4
fix: build break in search_family ( #4008 )
...
Also perform additional clean-up of cntx->reply_builder() - Part11
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-28 17:40:27 +02:00
Roman Gershman
1bdd56c973
chore: pass SinkReplyBuilder and Transaction explicitly. Part10 ( #3998 )
2024-10-28 16:18:52 +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
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
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
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
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
ef814f6670
chore: ignore applying the same cluster config twice ( #3932 )
2024-10-16 09:07:01 +03:00