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

1151 commits

Author SHA1 Message Date
adiholden
8ae01dbea5
feat(cluser): support GETSLOTINFO (#1217)
feat(cluser): support GETSLOTINFO

Signed-off-by: adi_holden <adi@dragonflydb.io>
2023-05-16 14:58:11 +03:00
Vladislav
7f547151bf
feat: search json support + client tests (#1210)
* feat: search json support + client tests

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>

* fix: small fixes

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>

* fix: small fixes

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>

---------

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-05-16 11:11:28 +03:00
Chaka
790e357aaf
fix: Lock before accessing slots_ (#1219) 2023-05-16 10:58:43 +03:00
Roy Jacobson
7ab7d8bb80
Fix: Check buffer size in JournalReader::ReadString before writing (#1218) 2023-05-16 10:54:39 +03:00
Roman Gershman
964eeee6f0
chore: Add bison to release build dependencies (#1215)
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-05-15 09:39:55 +03:00
Chaka
d9007eedf9
feat(server): SetConfig() for ClusterConfig. (#1202)
feat(server): SetConfig() for ClusterConfig.
2023-05-14 15:53:54 +03:00
Vladislav
3b003e3ec2
fix: handle no key commands in slot check (#1207)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-05-14 10:09:28 +03:00
ashotland
f628131b9e
fix(tests):Small fix to redis replication test (#1213)
Move timeout decrement to the end so we don't assert if we succeed in
the last second (looks like this was the case in the recent regression
test failure on CI)

Clarify the comment of await_synced

Signed-off-by: ashotland <ari@dragonflydb.io>
2023-05-14 01:08:17 +03:00
Daniel Shimon
cb80b3fd1f
feat: implement ZINTERCARD (#1197)
* fix: ZINTERSTORE bug

When a shard only contains the dest key, it returned an empty map which causes the resulting intersection to be empty

* chore(vscode): Add gdb launch setting

* feat: Implement ZINTERCARD

Initial implementation without LIMIT

* feat: Implement limit for ZINTERCARD

* feat: Handle sets in ZINTER* commands
2023-05-13 22:45:49 +03:00
Vladislav
eec09a13c7
fix: fix test connection name (#1211)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-05-13 15:25:36 +02:00
Roman Gershman
c999072b15
chore: Add vlog printings every time we switch global state (#1208)
Should help debugging #1204

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-05-13 13:57:54 +03:00
Vladislav
396cf5f77b
fix: fix duplicated dependency (#1209)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-05-13 12:07:54 +02:00
Vladislav
b0537418bc
fix: use redis.asyncio instead of aioredis (#1206)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-05-13 10:44:25 +03:00
Roman Gershman
4e96c56969
feat: Implement rdb snapshot write directly into s3. (#1205)
1. Load flow reorganized - most of the logic is now in InferLoadFile function.
   S3 read is not yet supported.
2. Write path is implemented. Specifically, you can use undocumented (by design) option to save like:
   `SAVE rdb s3://bucket/path/file`.
3. When using `--dir=s3://bucket/path/` it also saves into s3 on shutdown.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-05-13 06:44:16 +03:00
Roman Gershman
39aed005b5
chore: update helio (#1199) 2023-05-10 15:45:41 +03:00
adiholden
577472eb22
feat(cluster): check command keys ownership (#1194)
* feat(cluster): check command keys ownership on cluster mode

Signed-off-by: adi_holden <adi@dragonflydb.io>
2023-05-10 12:06:52 +03:00
PawelKapl
36cd15a196
feat(admin): Implement admin_nopass flag (#1193)
Signed-off-by: darkonion <pawkapl89@gmail.com>
2023-05-09 16:37:14 +03:00
Vladislav
c3dc05a571
Basic search (#1187)
Basic search (ft.create & ft.search)
2023-05-09 10:09:41 +03:00
Roy Jacobson
91c25c6d61
chore: Update helio (#1195)
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-05-09 07:01:29 +03:00
Roy Jacobson
912843d698
chore: Add a basic clang-tidy config (#1192)
* chore: Add .clang-tidy file

* Fix some problems and non-problems
2023-05-07 22:46:52 +03:00
Andy Dunstall
79da3e6637
fix: fix parsing nested arrays (#1189)
Signed-off-by: Andrew Dunstall <andydunstall@hotmail.co.uk>
2023-05-07 13:34:36 +03:00
Vladislav
dc853fe4bd
Support fields in search mvp (#1184)
Field support for search mvp
2023-05-07 01:02:08 +03:00
Chaka
5df0d92c44
Enable unlock for all tests. (#1185) 2023-05-06 20:38:12 +03:00
Vladislav
db5d6a0ba7
chore: pull helio (#1182)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-05-05 17:38:57 +03:00
Vladislav
957fe83ee3
feat: simple AST for search (#1175)
Simple AST base for redis search parser
2023-05-04 19:39:12 +03:00
Chaka
a2f68d1b3b
feat(server): Implement PFMERGE (#1180)
* feat(server): Implement PFMERGE.

* Disable lock check on failing tests.
2023-05-04 15:12:48 +03:00
Vladislav
cb82680aca
Remove blpop FindFirst hop after wakeup (#1168)
Remove BLPOP hop after wake
2023-05-03 19:45:06 +03:00
talbii
e91cb6b153
PERSIST returns 0 when key has no expiry (#1178)
Return 0 when key has no expiry

Signed-off-by: talbii <ido@dragonflydb.io>
2023-05-03 15:12:16 +03:00
talbii
8438bab05e
XREVRANGE should expect arguments in reverse order (#1177)
`XREVRAGE` expects arguments in reverse order
2023-05-03 10:08:54 +03:00
Roman Gershman
842c1e43ff
chore: improve xadd performance and remove redundant allocations (#1160)
1. Incorporate StreamAppendItem into c++ codebase and stop using t_stream implementation.
2. Change its signature to accept CmdArgList instead of array of robj*.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-05-03 09:32:38 +03:00
Abhradeep Chakraborty
fa61b63f0a
feat(xgroup): support MKSTREAM for xgroup create (#1176)
Redis supports a MKSTREAM option to dynamically create
a stream for "xgroup create" command if the stream for
the given key doesn't exist. Dragonfly, though instructs
users to use MKSTREAM if a key doesn't exist, doesn't
have the option.

Support MKSTREAM option for "xgroup create" command to
dynamically create a stream for given key, if not already
created.

Signed-off-by: Abhradeep Chakraborty <chakrabortyabhradeep79@gmail.com>
2023-05-03 09:30:46 +03:00
adiholden
b4803842bc
feat(redis): Add crc16 redis function (#1173)
* feat(redis): Add crc16 redis function

Signed-off-by: adi_holden <adi@dragonflydb.io>

* fix PR

---------

Signed-off-by: adi_holden <adi@dragonflydb.io>
2023-05-02 22:25:06 +03:00
adiholden
834b827a5d
chore(regression tests) : remove replication tests from arm host runner (#1174)
* test(regression): remove replication_test from regression arm

Signed-off-by: adi_holden <adi@dragonflydb.io>

* fix

Signed-off-by: adi_holden <adi@dragonflydb.io>

---------

Signed-off-by: adi_holden <adi@dragonflydb.io>
2023-05-02 22:24:49 +03:00
Vladislav
e9576d2ce2
fix: remove preliminary socket close in replica (#1172)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-05-02 10:16:47 +03:00
Roy Jacobson
f62bf1d3a7
chore: Update helio (#1171) 2023-05-02 10:09:11 +03:00
Vladislav
0bfca475cd
fix: fix passing scripts (#1170)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-05-01 21:14:44 +02:00
Vladislav
c2af5b0de1
fix: fix script body access (#1169)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-05-01 20:05:18 +03:00
Vladislav
89072228e5
Detect possible async calls in scripts (#1122)
Automatically detect possible async calls for lua scripts based on regex
2023-05-01 15:03:51 +03:00
Vladislav
3fd4e277d3
fix: fix replica closing socket (#1167)
Fix closing replica socket
2023-05-01 12:38:20 +03:00
Roy Jacobson
300ccf3218
fix(server): Wrong replication state (#1150)
* fix(server): Read replication state better

* Add basic test for ROLE command and replication
2023-04-30 14:02:47 +03:00
Roy Jacobson
46093e33ff
chore: Fix errors/warnings in GCC13 (#1155)
* chore: Fix errors/warnings in GCC13

* OpResult: Add non const overloads to */-> so we can std::move from the result

* Run clang-format on file
2023-04-30 10:32:30 +03:00
Roy Jacobson
0cd2efebf1
fix(server): Fix typo in CompactObj::operator== (#1165) 2023-04-30 10:32:04 +03:00
Roman Gershman
418f529b0e
fix: 'xgroup help' should show help message (#1159)
Along the way, performs small cleanups in command handling code.
XGROUP HELP is special because it falls out of Dragonfly command taxonomy design,
where a command name determines where its key is located. All other XGROUP subcommands
expect to see XGROUP <subcmd> <key> and this one obviously does not need any key.
I fix it by working around the issue and introduce a dedicated dummy command for this combination.

Fixes #854.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-04-30 09:53:01 +03:00
Roy Jacobson
de0b73312a
chore: Tweak debug symbols generation for releases (#1139)
* chore: Tweak debug symbols generation for releases

* Update helio (for blaze.sh changes)
2023-04-30 09:14:51 +03:00
Chaka
fa39c1890d
feat(server): Add support for PFADD and PFCOUNT (#1152)
* feat(server): Add support for PFADD and PFCOUNT

This version does not create sparse-encoded HLLs, however it is fully compatible with such ones created by Redis as it converts them to the dense encoding.

Note that PFMERGE is not yet implemented.

* Set small string optimization to be 2^13 instead of 2^15.

This will allow dense-encoded HLL to *not* fit within the small string,
which will make it contiguous in memory, thus GetSlice() will not
allocate.

---------

Signed-off-by: chakaz <chakaz@chakaz>
Co-authored-by: chakaz <chakaz@chakaz>
2023-04-30 00:50:11 +03:00
Roman Gershman
b09a36d553
feat: ignore MULTI/EXEC if the transaction consists of EVAL commands (#1157)
feat: ignore MULTI/EXEC if the transaction consists of EVAL commands.

Together with `default_lua_config` solves #781.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-04-29 13:55:32 +02:00
Rueian
688f8f51a3
feat(server): allow AUTH and SETNAME options in the HELLO command (#1156)
Signed-off-by: Rueian <rueiancsie@gmail.com>
2023-04-28 17:19:40 +02:00
Roman Gershman
494ca14e4e
feat: Extend parsing to field impressions (#1154)
feat: Extend parsing to field impressions.

Add search_parser_test to PR tests.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-04-28 14:34:03 +03:00
Nick Gottlieb
0651339f79
Update README.md (#1145)
Signed-off-by: Nick Gottlieb <ngottlieb1@gmail.com>
2023-04-28 14:33:47 +03:00
Vladislav
432ece3ace
Dispatch queue backpressure and batching (#1118)
Adds backpressure to pubsub

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-04-28 14:02:55 +03:00