Kostas Kyrimis
d207789610
chore(ci): run replication tests on arm ( #3168 )
...
* combine replication tests and reg tests in one flow
* allow replication tests to run on arm
2024-06-18 16:48:35 +03:00
Kostas Kyrimis
8d82581c96
chore: small acl compat changes ( #3177 )
...
* print categories and commands in lower case instead of capital case
* fix a bug of default user inheriting the wrong acl rules on new connections
* move keys position to be after password when printed from an acl command
2024-06-17 09:40:41 +03:00
adiholden
805c024fc2
fix(server): fix bug in replication on cached mode ( #3156 )
...
* fix server: fix replication on cached mode
Signed-off-by: adi_holden <adi@dragonflydb.io>
2024-06-17 08:37:58 +03:00
Vladislav
c08719117c
feat(json): MSET ( #3167 )
...
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-06-13 12:33:24 +03:00
Kostas Kyrimis
d2ae0ab75c
fix: acl compatibility ( #3147 )
...
* remove acl categories from context and all acl checks
* category assign,ent now assigns all the acl commands for that category to the user
* introduce modification order of acl's per user
* acl rules are now printed in the same order as in redis/valkey
* remove old user_registry_test which was part of the poc
2024-06-13 10:56:30 +03:00
Roman Gershman
007d4854db
chore: Introduce pipeline back-pressure ( #3152 )
...
* chore: Introduce pipeline back-pressure
Also, improve synchronization primitives and replace them with
thread-local variations.
Before the change, on my local machine with the dragonfly running with 8 threads,
`memtier_benchmark -c 10 --threads 8 --command="PING" --key-maximum 100000000 --hide-histogram --distinct-client-seed --pipeline=20 --test-time=10`
reached 10M qps with 0.327ms p99.9.
After the change, the same command showed 13.8M qps with 0.2ms p99.9
---------
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-06-10 12:39:41 +03:00
Vladislav
1053633a6a
feat(search): Tag field options (separator, case sensitivity) ( #3144 )
...
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-06-07 22:34:06 +03:00
Borys
39dd73fc71
fix: fix bug in cluster/slot_set ( #3143 )
...
* fix: fix bug in cluster/slot_set
* fix: fix slot flushes
2024-06-07 14:31:11 +03:00
Borys
66a524a026
test: skip test_cluster_migration_cancel, it is broken ( #3146 )
2024-06-06 16:33:08 +03:00
Shahar Mike
229eeeb014
fix: Fix live-lock in connection test ( #3135 )
...
fix: Fix livelocking connection test
2024-06-05 21:30:02 +03:00
Shahar Mike
1fb250b64f
test(cluster_mgr): Add tests for cluster_mgr.py ( #3129 )
2024-06-05 12:12:58 +03:00
Vladislav
6a873b4f1c
feat(tiering): Simple snapshotting ( #3073 )
...
* feat(tiering): Simple snapshotting
---------
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-06-04 17:15:21 +03:00
Roman Gershman
b02521cf51
chore: prevent Dispatch fiber to be launched during migration ( #3123 )
...
* chore: prevent Dispatch fiber to be launched during the connection migration
2024-06-04 14:13:48 +00:00
Borys
7606af706f
fix: fix RestoreStreamer to prevent buckets skipping #2830 ( #3119 )
...
* fix: fix RestoreStreamer to prevent bucket skipping #2830
2024-06-04 11:50:03 +03:00
adiholden
6e33261402
fix(server): fix compatibility with rdb snapshot ( #3121 )
...
* fix server: fix compatibility with rdb snapshot
Signed-off-by: adi_holden <adi@dragonflydb.io>
2024-06-04 06:28:18 +00:00
Kostas Kyrimis
3924fcad68
chore: pull helio add test for tls deadlock ( #3111 )
...
* pull helio
* add test that covers tls deadlock
2024-06-03 14:13:47 +00:00
Borys
644dc3f139
New test for cluster migration: connection issue ( #3102 )
...
* test: update test_config_consistency,
update test_cluster_data_migration,
new cluster migration test for network issues
2024-06-02 09:16:03 +03:00
Borys
b02a789ebf
fix: add timeout for DFLYMIGRATE ACK to prevent deadlock ( #3093 )
...
* fix: add timeout for DFLYMIGRATE ACK to prevent deadlock
2024-05-28 17:41:51 +03:00
Kostas Kyrimis
2391f49e1c
fix(acl): return -NOPERM instead of response error ( #3049 )
2024-05-27 09:25:54 +03:00
Borys
0dea257f41
fix: fix cluster incorrect keys status ( #3083 )
...
* fix: fix cluster incorrect keys status
2024-05-26 15:10:01 +03:00
Roman Gershman
816cec12ed
chore: pull latest helio ( #3009 )
...
Also clean-up unused flags.
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-05-05 22:43:59 +03:00
Shahar Mike
082aba02ef
fix(cluster-migration): Support cancelling migration right after starting it ( #2992 )
...
* fix(cluster-migration): Support cancelling migration right after starting it
This fixes a few small places, but most importantly it does not allow a
migration to start before both the outgoing and incoming side received
the updated config. This solves a few edge cases.
Fixes #2968
* add TODO
* fix test
* gh comments and fixes
* add comment
2024-05-02 15:50:42 +03:00
Roman Gershman
9bda5b1d4b
chore: another preparation commit to get rid of kv_args in transaction ( #2996 )
...
This changes Entry::Payload to struct instead of variant.
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-05-02 09:59:45 +03:00
Roman Gershman
07d076a658
chore: remove version checks when running our regtests ( #2988 )
2024-05-01 13:09:06 +03:00
Kostas Kyrimis
39c7cfdf72
fix: allow non hashed passwords when loading users from acl file ( #2982 )
...
* allow non hashed passwords when loading from acl file
2024-05-01 09:57:59 +03:00
Kostas Kyrimis
ab269553ac
fix: check return code of process after communicate ( #2976 )
...
* check return code of process after terminate
2024-05-01 09:57:37 +03:00
Vladislav
fd5772a186
chore(tiering): Lots of metrics ( #2977 )
...
* chore(tiering): Lots of metrics
2024-04-30 22:25:45 +03:00
Borys
415839df79
fix: fix deadlock and slot flush for migration cancel #2968 ( #2972 )
...
* fix: fix deadlock and slot flush for migration cancel #2968
2024-04-30 08:44:05 +00:00
Kostas Kyrimis
652d4da932
chore(acl): allow multiple users in acl deluser ( #2945 )
...
* add allow multiple users in acl deluser command
2024-04-29 17:03:54 +03:00
Borys
654ec9f1c4
feat: add slot migration error processing ( #2957 )
...
* feat: add slot migration error processing
2024-04-29 10:51:23 +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
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
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
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
Shahar Mike
56965edbe1
feat(cluster): Migration cancellation support ( #2869 )
2024-04-17 13:19:31 +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
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
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
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
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
Kostas Kyrimis
1bcbb41ec3
chore: relax repltakeover constraints to only exclude write commands ( #2873 )
...
* relax repltakeover constraints
2024-04-10 16:58:34 +03:00
adiholden
eb164be596
fix(redis replication): remove partial sync flow ,not supported yet ( #2865 )
...
* fix redis replicaiton: remove partial sync flow ,not supported yet
Signed-off-by: adi_holden <adi@dragonflydb.io>
2024-04-10 09:27:02 +03:00
adiholden
b1e688b33f
bug(server): set connection flags block/pause flag on all blocking commands ( #2816 )
...
* bug((server)): set connecttion blocking and puash flags on all blocking commands
Signed-off-by: adi_holden <adi@dragonflydb.io>
2024-04-09 09:49:33 +03:00
Shahar Mike
b8693b4805
feat(cluster): Send number of keys for incoming and outgoing migrations. ( #2858 )
...
The number of keys in an _incoming_ migration indicates how many keys
were received, while for _outgoing_ it shows the total number. Combining
the two can provide the control plane with percentage.
This slightly modified the format of the response.
Fixes #2756
2024-04-08 21:17:03 +03:00
Roman Gershman
604e9c6e97
fix: authorize the http connection to call commands ( #2863 )
...
fix: authorize the http connection to call DF commands
The assumption is that basic-auth already covers the authentication part.
And thanks to @sunneydev for finding the bug and providing the tests.
The tests actually uncovered another bug where we may parse partial http requests.
This one is handled by https://github.com/romange/helio/pull/243
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-04-08 13:19:01 +03:00
adiholden
ee8e5a53bf
fix(pytest): dont check process return code on kill ( #2862 )
...
fix pytest: dont check process return code on kill
Signed-off-by: adi_holden <adi@dragonflydb.io>
2024-04-08 07:08:05 +00:00
adiholden
a5ea47f2d9
fix(pytest): make pytests fail if server crash on shutdown ( #2827 )
...
* fix pytests: make pytests fail if server crash on shutdown
Signed-off-by: adi_holden <adi@dragonflydb.io>
2024-04-07 15:30:04 +03:00