Commit graph

  • 5923c22d99 Expose some connection-level stats Roman Gershman 2022-01-17 09:20:35 +02:00
  • 0d57b25124 Sync with the latest version of helio Roman Gershman 2022-01-16 23:56:47 +02:00
  • ee15f98142 Use container in CI Roman Gershman 2022-01-14 19:22:14 +02:00
  • 286da5e409 Improve ccache config Roman Gershman 2022-01-14 16:00:11 +02:00
  • e88d995618 Fix consistency bug in watched code CI improvements Roman Gershman 2022-01-14 14:55:13 +02:00
  • fac4bf0354 Add INCR/DECR commands Roman Gershman 2022-01-14 07:13:08 +02:00
  • 5715b8ebbb Use compact object as our MainValue type Roman Gershman 2022-01-13 15:47:04 +02:00
  • aa2136a406 Add CompactObject that will represent all the possible dragonfly types Roman Gershman 2022-01-13 10:49:25 +02:00
  • f632261c3b . origin/main Roman Gershman 2022-02-02 09:48:36 +02:00
  • 2500d5aeb6 Allow calling a redis function from interpreter. Roman Gershman 2022-02-03 00:31:26 +02:00
  • 3a081d3054 Export redis.* functions in lua scripts Roman Gershman 2022-02-01 23:03:28 +02:00
  • 8d7614ea7e Refactoring of ReplyBuilder Roman Gershman 2022-02-01 22:08:51 +02:00
  • dc39d8ec3d Wire support for redis.call and redis.pcall commands Roman Gershman 2022-02-01 19:02:43 +02:00
  • 42f8654a87 Replica: add a state machine that continously pulls data from the master Roman Gershman 2022-02-01 16:11:19 +02:00
  • 5ec854781a Implement serialization of most lua data types that are returned to caller Roman Gershman 2022-02-01 13:15:19 +02:00
  • f87afb0604 Add (lua) interpreter with lua 5.4.4 Roman Gershman 2022-01-31 21:40:40 +02:00
  • 71f9c4c5f8 Add skeleton of replication manager and initial support of replicaof command Roman Gershman 2022-01-29 21:02:31 +02:00
  • 72a5984377 Add skeleton for replica/sync commands Roman Gershman 2022-01-29 13:21:22 +02:00
  • 8a20979d4c Add rdb_test Roman Gershman 2022-01-29 11:37:48 +02:00
  • 3796bbadb0 Add rdb_load basic parsing. No data filling yet Roman Gershman 2022-01-29 07:12:55 +02:00
  • 05e03f67f4 Serve http requests from redis port Roman Gershman 2022-01-28 23:11:01 +02:00
  • e3d73eb912 Fix Populate bug Roman Gershman 2022-01-26 22:11:35 +02:00
  • 114173074b dragonfly_connection Roman Gershman 2022-01-26 12:51:29 +02:00
  • fca4b742ab Add global state to the server to prevent multiple exclusive operations to run concurrently Roman Gershman 2022-01-26 09:05:15 +02:00
  • 833747dfb5 Introduce per-shard MiMemoryResource Roman Gershman 2022-01-25 21:52:29 +02:00
  • dd1e4a1ee2 Implement snapshot consistency under the write load Roman Gershman 2022-01-25 07:51:15 +02:00
  • a4a3119558 Hook snapshot with db_slice so that it would be possible to maintain snapshot isolation during concurrent writes Roman Gershman 2022-01-24 21:42:22 +02:00
  • 1249c1a838 Refactor Populate command. Name the helper fibers Roman Gershman 2022-01-23 20:53:45 +02:00
  • c89ba0bbf5 Some improvements to snapshotting algo. Roman Gershman 2022-01-24 16:56:25 +02:00
  • 8349152cf3 Implement TYPE and SCAN commands. Update readme with the progress Roman Gershman 2022-01-24 08:49:38 +02:00
  • 4986c3a255 Simplify cursor encoding and state clearly cursor valid range Roman Gershman 2022-01-24 01:07:13 +02:00
  • 72747fbdc8 Add mimalloc as the default allocator for redis structures Roman Gershman 2022-01-23 19:07:25 +02:00
  • 5928d15710 Introduce dbslice versioning Roman Gershman 2022-01-22 22:09:01 +02:00
  • 2c5bf92ddf Introduce snapshot isolation using versioned buckets Roman Gershman 2022-01-22 21:05:49 +02:00
  • 373f16dd09 Introduce versioned bucket support for MVCC operations Roman Gershman 2022-01-22 12:21:08 +02:00
  • 721f8a3497 Introduce a naive snapshot flow and implement SaveBody for string/list entries Roman Gershman 2022-01-22 11:11:09 +02:00
  • 678c51c97b Add consumer part of RdbSave flow Roman Gershman 2022-01-21 23:37:42 +02:00
  • 751fc63ed5 Implement Save of rdb header/epilog Roman Gershman 2022-01-21 23:13:27 +02:00
  • 07563b787d Wire SAVE and LASTSAVE commands Roman Gershman 2022-01-20 21:48:02 +02:00
  • ba8ce9eadb Fix size() bug in dashtable Roman Gershman 2022-01-20 17:17:11 +02:00
  • 8d30cc8040 Switch PrimeTable to DashTable Roman Gershman 2022-01-20 12:26:10 +02:00
  • d519bccc55 Use DashTable for ExpireTable Roman Gershman 2022-01-20 05:25:43 +02:00
  • 0f0638cbfb Add HashCode support to CompactObject Roman Gershman 2022-01-20 05:16:22 +02:00
  • 3a11cec3da Model dashtable iterator as close as possible to std iterator Roman Gershman 2022-01-19 22:17:00 +02:00
  • fea1353b6e Add dash table Roman Gershman 2022-01-19 21:43:23 +02:00
  • f226a5bd46 Expose some connection-level stats Roman Gershman 2022-01-17 09:20:35 +02:00
  • 98a27437f1 Sync with the latest version of helio Roman Gershman 2022-01-16 23:56:47 +02:00
  • 89c76bb42e Use container in CI Roman Gershman 2022-01-14 19:22:14 +02:00
  • a3aab54094 Improve ccache config Roman Gershman 2022-01-14 16:00:11 +02:00
  • 955a88fb25 Fix consistency bug in watched code CI improvements Roman Gershman 2022-01-14 14:55:13 +02:00
  • a8debbc533 Add INCR/DECR commands Roman Gershman 2022-01-14 07:13:08 +02:00
  • 12ef4b934e Use compact object as our MainValue type Roman Gershman 2022-01-13 15:47:04 +02:00
  • 852fd96f30 Add CompactObject that will represent all the possible dragonfly types Roman Gershman 2022-01-13 10:49:25 +02:00
  • ea399e3e5a Identify multi-blpop interaction bug. Roman Gershman 2022-01-12 10:39:06 +02:00
  • fc63eec1b6 Add BLPOP support Roman Gershman 2022-01-12 08:58:07 +02:00
  • 0cf2f57bf2 Fix expiry bug in AddOrFind function Roman Gershman 2022-01-11 19:55:41 +02:00
  • a82c409006 Update state of things Roman Gershman 2022-01-09 20:43:49 +02:00
  • 6ed248efdf more planning for the next milestones Roman Gershman 2022-01-08 20:36:52 +02:00
  • 0c14be51d4 Add detailed status regarding the first milestone (Egg) Roman Gershman 2022-01-08 19:39:30 +02:00
  • e7071b73b1 Refactor server commands into server_family. Roman Gershman 2022-01-08 00:01:35 +02:00
  • 76286e33bf Add more dragonfly tests Roman Gershman 2022-01-07 18:46:57 +02:00
  • 35fa69c928 Add EXEC transaction support. Introduce dragonfly_test.cc Roman Gershman 2022-01-06 15:48:51 +02:00
  • 9e5a5ea2f2 Introduce Rename command Roman Gershman 2022-01-05 00:56:58 +02:00
  • 29cdcb96ec Add generic_family_test. Minor cleanups Roman Gershman 2022-01-04 15:11:37 +02:00
  • 5a7a67fbcf Introduce list_family_test Roman Gershman 2022-01-04 10:47:49 +02:00
  • 6b7ed73753 Implement client side resp parsing to be used in tests Roman Gershman 2022-01-04 01:16:24 +02:00
  • a4d8ded6ce Add string_family_test.cc unit test Roman Gershman 2022-01-03 11:20:08 +02:00
  • d64b4e01ea Implement basic list operations Roman Gershman 2022-01-02 10:40:16 +02:00
  • b1b0213cd2 Add bunch of redis files Roman Gershman 2021-12-27 10:03:29 +02:00
  • 55ee0563b0 Consolidate generic commands under generic_family. Add Del, Echo, Ttl and select commands Roman Gershman 2021-12-26 17:25:49 +02:00
  • b1f32e5ebf Add MGet and MSet commands Roman Gershman 2021-12-23 15:11:46 +02:00
  • ebd404ff5d Introduce VLL transactions Roman Gershman 2021-12-22 17:17:52 +02:00
  • a0dfb3171a Fix checkout directive Roman Gershman 2021-12-21 11:29:59 +02:00
  • 08767afa1e Add ci badge to README Roman Gershman 2021-12-21 11:07:29 +02:00
  • 1b52488ee9 Add github ci workflow Roman Gershman 2021-12-21 10:50:46 +02:00
  • 7fe07f8e4f Introduce TxQueue and IntentLock for VLL algo Roman Gershman 2021-12-20 22:46:51 +02:00
  • ac2eb7d45c Adding expiry functionality. Roman Gershman 2021-12-20 11:42:55 +02:00
  • a69c967321 Add debug populate command Roman Gershman 2021-12-07 08:27:11 +02:00
  • 45294f8c2f Fix reply batching. Roman Gershman 2021-11-30 21:01:09 +02:00
  • 6c5e4dad3b Rename main binary to midi-redis Roman Gershman 2021-11-30 10:11:59 +02:00
  • e7dc509fed Add prometheus-like metric support and allow connection affinity according to INCOMING_CPU Roman Gershman 2021-11-29 21:50:08 +02:00
  • d7b22ca582 Add APACHE-2.0 license. Fix file headers everywhere Roman Gershman 2021-11-28 09:29:26 +02:00
  • 6d32e56fbb
    Update README.md Roman Gershman 2021-11-24 14:17:44 +02:00
  • 18525d2b5e Introduce some pipelining support. Roman Gershman 2021-11-24 14:09:53 +02:00
  • 9a6e8e31be Add basic GET command for both mc and redis Roman Gershman 2021-11-23 17:49:40 +02:00
  • 5ebbfa5a64 Adding memcached protocol support for dragonfly Roman Gershman 2021-11-23 12:39:35 +02:00
  • d4b708d33c Introduce basic memcached parser Roman Gershman 2021-11-22 09:43:43 +02:00
  • 9282d96d00 Add tls support and config flags simulating redis configuration params Roman Gershman 2021-11-19 18:00:14 +02:00
  • bf714b1a64 Introduce command registry and dispatcher entry point. Roman Gershman 2021-11-18 18:38:20 +02:00
  • 9c1b1e495d Rename async to helio Roman Gershman 2021-11-18 17:14:05 +02:00
  • 38478cf069 Add connection context that will serve us as an interface between command handler and the service Roman Gershman 2021-11-17 16:38:32 +02:00
  • ec78c8a2af Add SET command and thread local db slice Roman Gershman 2021-11-17 12:51:47 +02:00
  • 48589604fc Bind redis parser to dragonfly connection Roman Gershman 2021-11-16 15:04:32 +02:00
  • f2bc27e283 Add redis parser + test Roman Gershman 2021-11-16 11:39:02 +02:00
  • 2bce379341 Add dragonfly skeleton: listener, connection and main Roman Gershman 2021-11-16 10:39:38 +02:00
  • 90516b53dd Add async library to the project Roman Gershman 2021-11-16 09:59:13 +02:00
  • 503aa8af52
    Initial commit Roman Gershman 2021-11-16 09:41:42 +02:00