Commit Graph

356 Commits

Author SHA1 Message Date
Roman Gershman
d5f2c23922
Fixes #66. (#70)
* Fixes #66.

1. Introduce `hz` flag to control the frequency of periodically running tasks.
2. Update helio dependency.

* Fix CI caching for PRs.
2022-06-01 13:19:41 +03:00
quiver
33af405434
Update build steps for Ubuntu (#72)
cmake and c++ compilers are required to build from source
2022-06-01 13:13:17 +03:00
Zacharya
1758503e97
Add basic Prometheus support and metrics (#67)
* Add basic Prometheus support and metrics

* Remove human metrics

* Pull AppendMetric outside

* Fix typo
2022-06-01 12:34:37 +03:00
Roman Gershman
398b2b00bf Fix a crash in debug mode when working with huge strings.
Seems like a mimalloc bug.
Opened https://github.com/microsoft/mimalloc/issues/587 for this.
2022-06-01 09:12:02 +03:00
Ryan Russell
eae5c08e76
Improve Comment Readability (#69)
Signed-off-by: Ryan Russell <git@ryanrussell.org>
2022-05-31 23:07:00 +03:00
Roman Gershman
f641ba83b9 Add a debug assertion in order to chaise a bug when serialization finishes 2022-05-31 17:56:31 +03:00
Olle Jonsson
c7534dfb6a
CI: Use v3 of Actions "upload-artifacts", "checkout" and "cache" (#62)
CI: Use v3 of GitHub Actions actions

Affects "checkout", "upload-artifacts", and "cache".
2022-05-31 17:42:05 +03:00
Olle Jonsson
6c08d848ad
docs: Repair Markdown markup (#63)
Some Markdown was not rendered, due to being mixed with regular HTML tags. Now separated.
2022-05-31 17:22:25 +03:00
Roman Gershman
dbc407b9ec Add romanger's twitter handle. We will post about DragonflyDb from his personal twitter. 2022-05-31 14:27:14 +03:00
Philipp B
8aa8f2b0b0
Update docker-release workflow to tag image with release version (#60) 2022-05-31 14:04:08 +03:00
Roman Gershman
f7124f943e
Update dragonfly blurb (#48) 2022-05-31 10:08:21 +03:00
Ryan Russell
9e258de236
Improve readability (#52)
Signed-off-by: Ryan Russell <ryanrussell@users.noreply.github.com>
2022-05-30 21:45:45 +03:00
James Herdman
2fcee28d92
Fix a spelling error (#50) 2022-05-30 21:18:45 +03:00
Roman Gershman
f23c552bd3 Fix docker pipeline 2022-05-30 15:51:48 +03:00
Zacharya
4ca9dc71b3
Fix info command to use git version (#49) 2022-05-30 15:17:52 +03:00
Roman Gershman
c488baec3c Add a DCHECK to catch a bug 2022-05-30 14:53:42 +03:00
Roman Gershman
29575d00ee Fix aarch64 pipeline and update docker path in README 2022-05-30 12:30:00 +03:00
Roman Gershman
e239fc68b4 Added glue code to expose various http handlers from dragonfly 2022-05-30 11:53:39 +03:00
Roman Gershman
5af2fe0145 docker-release pipeline now uses release assets for building dockers 2022-05-30 11:24:56 +03:00
Roman Gershman
4d276c7ef0 Integrate version metadata into build. Fixes #46. 2022-05-30 08:49:19 +03:00
Roman Gershman
bb7b205bff Switch to using absl flags 2022-05-30 06:45:09 +03:00
Roman Gershman
6dd1552506
Some clean-ups in rdb_save code. Add verbosity printings for CI build (#47) 2022-05-29 20:23:05 +03:00
odedponcz
e5107c2047
Add license (#45)
* Add BSL license
* set change date

Co-authored-by: Roman Gershman <romange@gmail.com>
2022-05-29 18:24:29 +03:00
Roman Gershman
776276ccd4
Add more benchmarks to README (#44) 2022-05-29 17:47:34 +03:00
Roman Gershman
ccf051742d Execute commands from the replicated log 2022-05-28 23:20:52 +03:00
Roman Gershman
1490eb5c3c Implement parsing of replication stream from redis 2022-05-28 21:24:07 +03:00
Roman Gershman
46929e9c52
Update README: add benchmarks (#43) 2022-05-27 16:15:12 +03:00
Roman Gershman
114e8bec5d Fixes #41.
1. Found dangling transaction pointers that where left in the watch queue. Fix the state machine there.
2. Improved transaction code a bit, merged duplicated code into RunInShard function, got rid of RunNoop.
3. Improved BPopper::Run flow.
4. Added 'DEBUG WATCH' command. Also 'DEBUG OBJECT' now returns shard id and the lock status of the object.
2022-05-27 12:20:01 +03:00
Roman Gershman
3a38576bbb Introduce regression tests 2022-05-27 00:26:51 +03:00
Roman Gershman
4a2e84b975 In order to support Debian/Bullseye, we know require minimal kernel version - 5.10 2022-05-26 20:04:33 +03:00
Roman Gershman
6e7d3d215f A fix for the release pipeline 2022-05-26 13:44:54 +03:00
odedponcz
caeb60c22a
Fixit (#40)
* Easy getting started

Co-authored-by: Roman Gershman <romange@gmail.com>
2022-05-26 11:15:44 +03:00
Roman Gershman
e494fb30e9 Upload assets to the release 2022-05-26 08:00:38 +03:00
Roman Gershman
45029dae9a Add a skeleton for the release pipeline 2022-05-25 21:14:04 +03:00
Roman Gershman
5ad6352ad7 Update dashtable doc 2022-05-23 19:41:55 +03:00
Roman Gershman
8bed96d20b Memory and persistence fixes.
1. Fix memory counting stats. Use memory_usable_size(ptr) for counting used memory.
2. Fix crash when there is I/O error when writing snapshot. Now we return error message.
2022-05-23 16:17:13 +03:00
Roman Gershman
c087f7c61b Update helio version. Add more gc related stats 2022-05-23 08:52:04 +03:00
Roman Gershman
166ca73559 Rdb save opens file for writes in direct mode. More work on dashtable docs 2022-05-22 22:34:05 +03:00
odedponcz
869cd19897
Fixit (#39)
* Add more documentation about dashtable. Tune expiry heuristics a bit

* Minor lang change

* minor lng changes

Co-authored-by: Roman Gershman <romange@gmail.com>
2022-05-22 09:46:49 +03:00
Roman Gershman
3717079172 Add more tests 2022-05-21 21:45:41 +03:00
Roman Gershman
c7d1893478 Add more documentation about dashtable. Tune expiry heuristics a bit 2022-05-21 20:35:19 +03:00
Roman Gershman
543979875a Fixes #37. 2022-05-21 07:09:46 +03:00
Roman Gershman
1de6f5317d Update README with more info. 2022-05-21 00:23:23 +03:00
Roman Gershman
343dd22ce5 Fixes #21.
1. Snapshot now passed db index and rdb save handles by inserting select opcodes when needed.
2. Fix few more bugs in CVCUponInsert.
3. Save lua scripts.
2022-05-20 23:25:41 +03:00
Roman Gershman
599c786c16 This CR fixes #36.
1. Fix a bug in dash table related to snapshotting.
2. Rewrite GlobalState code and make state transitions atomic and well defined.
3. Fix Save/Flush semantics by capturing snapshotted tables together with the snapshot.
2022-05-20 12:35:28 +03:00
Roman Gershman
439070d00d Few improvements.
1. Stabilized naming scheme for snapshot files.
   The behavior is determined by dbfilename flag.
   By default it's 'dump'. Dragonfly checks if the flag has an extension
   if not, it automatically saves timestamped files (dump*.rdb) and loads the latest file that is available.
   In case the flag has extension like 'dump.rdb' it fallbacks to redis behavior of loading and saving to the
   same file.

2. Updated the logo url.
2022-05-19 15:50:42 +03:00
Roman Gershman
9eb13b5163 Cover more type families with OOM checks 2022-05-19 12:00:47 +03:00
Roman Gershman
5e4aa0a1a8 Handle OOM errors for more types. Fix clang warnings and errors 2022-05-18 21:53:49 +03:00
Roman Gershman
30cf9541c2 Add reference counting to DbTable. The will help us to implement flushing the tables in parallel with snapshotting 2022-05-17 14:21:28 +03:00
Roman Gershman
5849d09f73 Reuse vectors on a hot-path of parsing requests in dragonfly_connection. 2022-05-17 11:22:08 +03:00