Commit Graph

24 Commits

Author SHA1 Message Date
Kostas Kyrimis
41f7b611d0
chore: enable -Werror=thread-safety and add missing annotations (part 2/2) (#3595)
* add missing annotations
* small mutex fixes
* enable -Werror=thread-safety for clang builds

---------

Signed-off-by: kostas <kostas@dragonflydb.io>
2024-08-30 15:42:30 +03:00
Kostas Kyrimis
839b1be82d
chore: add -Wthread-analysis and annotate (part 1/2) (#3502)
* enable -Wthread-analysis
* add missing annotations
* small fixes

---------

Signed-off-by: kostas <kostas@dragonflydb.io>
2024-08-26 18:22:38 +03:00
Kostas Kyrimis
f3ba448106
chore: make usan asan optional and enable them on CI (#2631)
* add daily job to run unit tests with asan/usan
2024-03-04 11:00:46 +02:00
Roman Gershman
cbfd5bb7c5
chore: doc_accessors now parse with json::Path as well (#2615)
chore: replace search path parsing with json::Path

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-02-20 19:58:22 +02:00
Roman Gershman
336d6ff181
Update helio (#2538)
chore: UpdateHelio dependency

Add support for asan/ubsan checkers in our dev environment.
Remove more clang warnings.

Once we fix all the problems we will enable them in our CI as well.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-02-06 11:57:26 +02:00
Roman Gershman
5c0029978e
chore: remove redis sorted set implementation (#2522)
Also remove unused code.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-02-05 10:29:11 +02:00
Roman Gershman
dbef4ca967
fix: make Dragonfly compatible with older systems (#1755)
Change the Makefile to configure the compile to produce code
compatible with core2 architecture for x86_64 systems.
Plus specify precise CPU extensions that we use in the code.
Partly addresses #1519

Before the change we relied on default helio logic that configured
the build to run on sandybridge for x86_64.
This PR overrides x86_64 settings to much older core2 processor.

Also, we remove an unneeded cmake include.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-08-29 18:24:29 +03:00
Roy Jacobson
211be143f1
chore: Try to turn on Werror in the CI (#1261) 2023-05-22 05:21:01 +03:00
Roman Gershman
71a4c6dd45
chore: change Dragonfly to use fb2 helio library. (#1049)
It's a bit more efficient than Boost.Fibers due to better integrations
of Fibers with Proactor loop.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-04-09 16:41:10 +03:00
vvhungy
78d4aacd25
(build)allow to compile with a custom OpenSSL installation (#1022)
allow to compile with a custom OpenSSL installation
2023-04-07 08:38:12 +03:00
Acheev Bhagat
751bcb9aec
feat(packaging): create deb packaging #249 (#313) 2022-09-20 11:10:19 +03:00
Roman Gershman
6b7d2a22df
chore(strings): Simplify Set flow (#164)
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2022-06-19 23:19:42 +03:00
Roman Gershman
a1c3d8e33d chore(server): Usability improvements
1. Relax processor requirements for Dragonfly. Fixes #124.
2. Introduce cmake option DF_USE_SSL to allow building DF without SSL support. Fixes #128.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2022-06-15 19:20:03 +03:00
Roman Gershman
4d276c7ef0 Integrate version metadata into build. Fixes #46. 2022-05-30 08:49:19 +03:00
Roman Gershman
5568205b34 More work on tiered storage.
1. Reads from external storage support now o_direct mode.
2. Simplify write unloading logic. Make pending buffer a ring buffer with
   a predefined capacity.
3. Add more tiered stats to info command
2022-05-05 12:05:05 +03:00
Roman Gershman
7f06e223f7 Statically link boost into dragonfly 2022-05-04 15:55:03 +03:00
Roman Gershman
fa70267729 Add ZRANK,ZCOUNT,ZREVRANK.
1. Fix #12 - return number of added items for non-increment usecase.
2. Fix #15 - fix double precision response. I use a different printing algorithm that of Redis
   therefore there could be string differences between 2 systems. However, both replies should
   be equivalent numerically.
3. Fix #13.  Reject ZADD with LT and GT options together.
4. Fix #11 - return correct error when parsing invalid scores.
2022-04-06 22:54:10 +03:00
Roman Gershman
b8521828e3 Add Dockerfile for prod container. Reorganize source tree to be docker-build friendly. 2022-02-25 10:03:42 +02:00
Roman Gershman
ab5031472e Small fixes
1. Remove CO::STALE modifier since it's not relevant for now.
2. Propertly wire CallFromScript function to be called from redis.call.
3. Define 3rd party lua dependency as part of dragonfly project.
4. Add ARGV/KEYS arrays to lua scripts
2022-02-24 14:11:51 +02:00
Roman Gershman
b1b0213cd2 Add bunch of redis files
Files are taken from redis commit e84ccc3f566f78344b098c3eef6e371653bc311b
We need low-level redis datastructures for encoding values that are not strings,
i.e. lists, sets, zsets etc.
2021-12-27 10:03:29 +02:00
Roman Gershman
7fe07f8e4f Introduce TxQueue and IntentLock for VLL algo 2021-12-20 22:46:51 +02:00
Roman Gershman
9c1b1e495d Rename async to helio 2021-11-18 17:14:05 +02:00
Roman Gershman
2bce379341 Add dragonfly skeleton: listener, connection and main 2021-11-17 16:32:08 +02:00
Roman Gershman
90516b53dd Add async library to the project 2021-11-16 09:59:13 +02:00