Commit graph

2318 commits

Author SHA1 Message Date
adiholden
ccada875e0
feat(server): master stop sending exec opcode to replica (#3289)
* feat server: master stop sending exec opcode to replica

Signed-off-by: adi_holden <adi@dragonflydb.io>
2024-07-09 14:48:31 +03:00
adiholden
5c7c21b6c5
fix(bug): crash on takeover and info replication (#3282)
Signed-off-by: adi_holden <adi@dragonflydb.io>
2024-07-08 17:21:12 +03:00
Roman Gershman
fba902d0ac
fix: properly clean tiered state upon flash (#3281)
* fix: properly clean tiered state upon flash

The bug was around io pending entries that have not been properly cleaned during flush.
This PR simplified the logic around tiered storage handling during flush, it always performs the
cleaning in the synchronous part of the command.

In addition, this PR improves error logging in tests if dragonfly process exits with an error.
Finally, a test is added that makes sure pending tiered items are flushed during the flash call.

Fixes #3252
---------

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-07-08 10:43:11 +03:00
Shahar Mike
4fd6ba68a2
fix: Increase key count to make test more robust (#3286) 2024-07-08 07:10:03 +00:00
Shahar Mike
2f09055260
chore: Disable cluster_mgr_test (#3279) 2024-07-08 09:12:27 +03:00
Roman Gershman
ff5c89d0ad
Create scorecard.yml (#3270)
add https://scorecard.dev/ tool scanning

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-07-08 08:34:13 +03:00
Shahar Mike
daa7e3708c
fix(test): Verify that save has not finished (#3278)
fix(test): Verify that save has not finished, otherwise it's an endless loop
2024-07-08 08:33:44 +03:00
Tim Siegel
775ba34223
chore(license): Fix typo in LICENSE.md text (#3283)
Fix typo in LICENSE.md text 

The original BUSL-1.1 license has "fourth anniversary". The typo in the text says "forth", which is not sensible.

Also a newline was munched when the text was formatted for 72 character line width. This patch restores it.

Signed-off-by: Tim Siegel <siegeltr@gmail.com>
2024-07-07 19:27:22 +00:00
Roman Gershman
ac328e1516
chore: more debug checks around tiered storage (#3277)
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-07-07 08:55:58 +00:00
Roman Gershman
765be950af
chore: debugging fixes (#3275)
Minor fixes to improve debug test coverage and logs.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-07-07 06:28:58 +00:00
Roman Gershman
374a5f529e
chore: print effective QPS of the server. (#3274)
Also refactor ReceiveFB into multiple functions.
Finally, fix the memcached command in local monitoring stack.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-07-07 06:26:14 +00:00
Roman Gershman
e213d6035d
chore: dfly_bench can send traffic to memcached (#3271)
Also, add hit rate calculation and controllable seed sequences.

The last ones are important if we want to send read traffic with the same key sequence as before
to estimate the hit rate of the system.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-07-05 14:26:51 +03:00
Stepan Bagritsevich
d9dd54d25e
fix(json_family): fix JSON.GET commmand for JSON legacy mode (#3261)
* fix(json_family): fix JSON.GET commmand for JSON legacy mode

fixes dragonflydb#1523

Signed-off-by: Stepan Bagritsevich <bagr.stepan@gmail.com>

* refactor(json_family): address comments

Signed-off-by: Stepan Bagritsevich <bagr.stepan@gmail.com>

---------

Signed-off-by: Stepan Bagritsevich <bagr.stepan@gmail.com>
2024-07-05 14:27:23 +04:00
Roman Gershman
8240c7f19e
chore(monitoring): add more dashboards + memcached (#3268) 2024-07-05 07:12:13 +00:00
Roman Gershman
62f54838f8
chore: initiate grow preemptively (#3267)
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-07-04 21:48:58 +03:00
Vladislav
2bf4451ec7
fix(tiering): Throttle snapshot load (#3249) 2024-07-04 17:10:23 +03:00
Roman Gershman
d8946247df
chore: upload all the logs from /tmp (#3263)
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-07-04 09:17:25 +03:00
romange
3506ee0a14 chore(helm-chart): update to v1.19.2 2024-07-02 11:41:16 +00:00
Borys
84814a7358
fix: fix move error during migration finalization (#3253)
* fix: fix Move error during migration finalization
2024-07-02 14:23:54 +03:00
Roman Gershman
506ecbc3cd
chore: add more logs around the duplicate value case in small_bins (#3254)
Helps investigating #3252

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-07-02 13:04:00 +03:00
Kostas Kyrimis
830d73a888
chore: pull helio and adjust mimalloc for 32MiB segments (#3174)
* chore: pull helio and adjust mimalloc for 32MiB segments
2024-07-02 10:29:39 +03:00
Kostas Kyrimis
5956275818
chore: replace session wide fixtures with scope (#3251)
* chore: replace session wide fixtures with scope
2024-07-02 10:26:26 +03:00
Shahar Mike
50766fdbb3
chore(lua): Return which undeclared key was accessed (#3245)
* chore(lua): Return which undeclared key was accessed

Example:

```
127.0.0.1:6379> EVAL "return redis.call('SET', 'k', 'v')" 0
(error) ERR Error running script (call to 5c4d62f4e30c54fb15935b5892148e5ce7374077): @user_script:2: script tried accessing undeclared key, key: k
```

* fix

---------

Co-authored-by: Roman Gershman <roman@dragonflydb.io>
2024-07-01 13:16:23 +03:00
Roman Gershman
dfc7f177c1
chore: update action versions (#3250) 2024-07-01 08:36:36 +00:00
Roman Gershman
3b920cbe5c
fix: total_stash_overflows statistic (#3248)
* fix: total_stash_overflows statistic

---------

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-07-01 10:43:08 +03:00
romange
166719477b chore(helm-chart): update to v1.19.1 2024-07-01 06:20:49 +00:00
Vladislav
f58000ce85
chore(tiering): External alloc free page chaining (#3237)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-06-30 18:55:05 +03:00
Roman Gershman
65e42de346
chore: improve dfly_bench (#3244)
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-06-30 16:31:45 +03:00
Roman Gershman
0e375295e8
chore: introduce back-pressure to tiered storage (#3243)
* chore: introduce back-pressure to tiered storage

Also, so clean-up with mac-os daily build.


Enabled forgotten test.
Improve CI insights

---------

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-06-30 15:46:11 +03:00
Vladislav
c34a78966a
fix(server): Fix SCAN deadlock (#3235) 2024-06-30 09:15:14 +03:00
Vladislav
4cc9834d89
fix(pytest): timed ticker for simpler conditions (#3242)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-06-29 15:48:25 +03:00
Roman Gershman
b34d3ba6da
chore(tiered): minor fixes + expose buffer allocation type stats (#3234)
* chore(tiered): minor fixes + expose buffer allocation type stats

fixes small_bins deletion logic

Fixes #3240
---------

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-06-29 11:42:17 +03:00
Borys
13169461ef
fix: fix deadlock in DFLYCLUSTER CONFIG command and outgoing migration finaliztion (#3239)
fix: fix deadlock in DFLYCLUSTER CONFIG command and outgoing migration finalization
2024-06-29 11:41:23 +03:00
Vladislav
0662b50578
fix(transaction): Don't transactionalize empty EVAL inside EXEC (#3231) 2024-06-28 15:36:18 +03:00
Vladislav
c1bde661fb
chore: disable tiering test (#3236)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-06-28 10:01:42 +03:00
Roman Gershman
55e445b511
chore: provide basic logging to catch possible command errors (#3213)
* chore: provide basic logging to catch possible command errors

---------

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-06-26 14:21:05 +03:00
Vladislav
1dfb604d97
fix(tiering): Fix pending leak during immediate stash error (#3219) 2024-06-26 10:01:26 +03:00
Shahar Mike
f28bd93854
fix(cluster): Don't miss keys when migrating slots (#3218)
In rare cases, the fuzzy cluster migration test detected missing keys.
It turns out that the missing keys were skipped at the source side due
to contention:
* The OnDbChange callback registered and got a `snapshot_id`
* It then blocked on a mutex, and could not add itself to the list of
  callbacks
* When the mutex was released, it registered, but it missed all changes
  that happened between registering (`snapshot_id`) and the moment it
  registered
2024-06-25 15:41:17 +03:00
Kostas Kyrimis
847e2edc09
fix: replicaof_reject_on_load flake (#3203) 2024-06-25 13:52:17 +03:00
Vladislav
4357933775
feat(server): expiry notifications (#3154)
Adds basic support for keyspace notifications, only Ex

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-06-24 16:23:40 +03:00
Kostas Kyrimis
3fd43eeda8
fix(sanitizers): failing json_family test (#3176)
* disable false positive test case in json_family_test
2024-06-24 13:12:09 +03:00
Vladislav
270bad87e8
core(search): Add EF_RUNTIME parameter (#3206)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-06-24 10:13:41 +03:00
Stepan Bagritsevich
673de8cff3
feat(generic_family): Assemble RESTORE and STICK commands into one commmand during replication of the RENAME command (#3209)
feat(generic_family): Assemble RESTORE and STICK commands into one commmand during RENAME replication

Signed-off-by: Stepan Bagritsevich <bagr.stepan@gmail.com>
2024-06-24 10:48:00 +04:00
Vladislav
cf9ac35596
chore: fix tiering regtest test (#3208) 2024-06-23 12:02:46 +03:00
Kostas Kyrimis
e097248baf
chore: add replica-priority flag (#3204)
* add replica-priority flag
* add it on info replication command
* add test
2024-06-22 00:34:48 +03:00
Vladislav
40ede6f61a
chore(tiering): More advanced tiering tests (#3201)
* chore(tiering): More advanced tiering tests

* fix: fixes
2024-06-21 23:47:59 +03:00
Kostas Kyrimis
f01aa2d76b
feat(acl): add support of multiple passwords (#3189)
* add support for multiple passwords
* add support for deleting passwords
* add support for resetpass
* add tests
* always prefix passwords with hashtag when printed
2024-06-21 20:39:33 +03:00
Shahar Mike
48c6f4bf74
chore: Re-enable previously flaky test (#3196) 2024-06-21 13:12:14 +03:00
Shahar Mike
6024d79bd6
feat(cluster): Support STICK bit in slot migration (#3200) 2024-06-21 08:18:03 +03:00
Shahar Mike
c8f2f253d6
test(cluster): Make sure migration maintains TTL (#3188) 2024-06-20 20:46:38 +03:00