Commit Graph

360 Commits

Author SHA1 Message Date
TAKAHASHI Shuuji 8570a12d81
docs: Fix a variable name for bucket in Dashtable section (#80)
In the the `dashtable.svg` diagram, the last segment is denoted by `N` while `K` is used for buckets (like bucket1, bucket2, ..., bucketK).
2022-06-02 14:02:18 +03:00
Philipp B 7ff6e47332
Initial commit for helm chart (#57) (#79)
* Initial commit for helm chart

Includes support for
- persistence for /data (if enabled, a Statefulset is deployed)
- mounting extra volumes (for logs, debugging, whatever)
- initContainers (adjusting the pod's ulimit, possibly)
- passing extra arguments to the dragonfly binary through extraArgs

Squashed commit of the following:

caa91a0 helm-chart: initial commit
7ec9ea5 helm-chart: add extraArgs and update README/TODO
e1da96c helm-chart: add StatefulSet for persistence and update chart README
4d81f8a helm-chart: add liveness+readinessProbe
cdf70b3 helm-chart: add initContainers, extraVolumes and extraVolumeMounts
aed0ef1 helm-chart: update README

* add CONTRIBUTORS
2022-06-02 14:01:26 +03:00
Roman Gershman d3f598eb88 More printings in rdb_test in order to catch the snapshotting bug 2022-06-02 12:32:10 +03:00
Ryan Russell a049128ab6
Improving Readability r3 (#75)
Signed-off-by: Ryan Russell <git@ryanrussell.org>
2022-06-01 19:31:36 +03:00
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