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

982 commits

Author SHA1 Message Date
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
Roy Jacobson
574ae24fec
fix(server): Tweaks for replication info (#1147)
* fix(server): Return strings with underscores instead of spaces for replication states

* Add 'state' field to master info replication command
2023-04-27 15:31:31 +03:00
talbii
0b203629e2
don't listen for TCP connections when --port 0 is passed (#1113)
Disable TCP listening when `--port 0` is passed.

Instead, only unix-socket listening and Admin listening (via TCP) is
enabled.

Fixes #979 and #983.

Signed-off-by: talbii <ido@dragonflydb.io>
2023-04-27 12:41:14 +03:00
romange
e23755d51e chore(helm-chart): update to v1.2.1 2023-04-26 17:41:27 +00:00
Roman Gershman
bf6ee50920
feat: Add unicode support and replace flex with reflex. (#1143)
Also, add basic test with Parser.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-04-26 17:12:00 +02:00
Roman Gershman
0b13eaa943
fix: remove redundant ToLower call from the HSET function (#1141)
fix: remove redundant ToLower call from HSET function

The call was left during big refactoring when we removed command name from the
arguments slice passed to commands.

Fixes #1140

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-04-26 10:43:30 +03:00
Roman Gershman
ce5db032fc
chore: support more token types in the lexer (#1134)
1. Support integers
2. Support string literals
3. Add more test coverage.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-04-25 15:57:24 +03:00
Roy Jacobson
8749d736dd
chore: Update comments and logs after debugging (#1129) 2023-04-25 08:37:23 +03:00
ashotland
6a26d41e90
test(sentinel_test.py): increase timeout in failover test (#1133)
* test(sentinel_test.py): increase timeout from 10 to 15 seconds in test_failover function

Signed-off-by: ashotland <ari@dragonflydb.io>

---------

Signed-off-by: ashotland <ari@dragonflydb.io>
2023-04-24 21:55:11 +03:00
romange
fd7c973ff8 chore(helm-chart): update to v1.2.0 2023-04-24 12:58:54 +00:00
ashotland
6fcd15d1e1
Sentinel test debug (#1125)
Sentinal test debug
- Some more logging
- Use PortPicker

Signed-off-by: ashotland <ari@dragonflydb.io>
2023-04-24 10:53:51 +03:00
Roman Gershman
d78a9daaeb
chore: simplify debian package filename. (#1128)
Currently deployed packages have version in the filename which makes it much harder to fetch
using scripts.

This change fixes the filename and also removes some redundant code.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-04-24 10:05:01 +03:00
Roman Gershman
51c5bb7273
feat: Add skeleton code for parser/lexer generation (#1126)
Add initial test for the scanner.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-04-24 09:58:20 +03:00
adiholden
7f56a435c4
bug(server): replicate scripts in stable state (#1114)
* bug(server): replicate scripts in stable state

---------

Signed-off-by: adi_holden <adi@dragonflydb.io>
2023-04-23 23:46:51 +03:00
Vladislav
2d501111ea
Fix async lua bugs (#1123)
Fix async lua bugs:
- Not calling toupper before looking up command id
- Wrong error reply context
2023-04-23 14:50:25 +03:00
adiholden
c6d34678f3
fix(test): add wait for all replicas to finish (#1124)
Signed-off-by: adi_holden <adi@dragonflydb.io>
2023-04-23 14:20:01 +03:00
Vladislav
520e66c4b7
fix: replace journal executor reply builder (#1120)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-04-23 13:27:47 +03:00
Roman Gershman
78a471582f
chore: adding polishes for reading cgroup files (#1121)
Specifically, do not check-fail when reading cgroup file path.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-04-23 11:06:46 +03:00
Vladislav
ba19cc1047
docs: describe command squashing (#1119)
Signed-off-by: Vladislav <vlad@dragonflydb.io>
2023-04-22 09:02:36 +03:00
Vladislav
74a1454409
Collect errors from async lua calls (#1092)
Error collection from async calls
2023-04-22 09:02:22 +03:00