Commit graph

  • 667b2fa99c Add support for memcached stats command Roman Gershman 2022-02-22 00:17:01 +02:00
  • b6857e3f41 MemcacheParser: add support for stats command Roman Gershman 2022-02-21 22:39:59 +02:00
  • 3d8af8b413 Implement memcache get for multiple keys. Fetch flag values as well Roman Gershman 2022-02-21 20:27:18 +02:00
  • b3c9836682 Add tests for memcache commands. Handle flags metadata Roman Gershman 2022-02-20 22:07:33 +02:00
  • 8d2d49d782 Add AUTH command for 1.0 API Roman Gershman 2022-02-20 13:49:37 +02:00
  • 29f5052c4d Add alpine-dev container to test matrix Roman Gershman 2022-02-19 22:56:09 +02:00
  • b606613762 Add more IO stats Roman Gershman 2022-02-19 13:34:45 +02:00
  • b82fb72fc5 Add basic metrics to INFO command Roman Gershman 2022-02-19 08:59:58 +02:00
  • e1c852dfcc Initial support for lua transactions. Roman Gershman 2022-02-08 17:56:47 +02:00
  • b1829c3fe0 Allow custom argument validators. Expand transaction argument parsing to commands like EVAL Roman Gershman 2022-02-06 17:38:53 +02:00
  • cc53bde091 Dragonfly Dispatch is called from lua script Roman Gershman 2022-02-05 21:04:32 +02:00
  • 07df3f2b95 Simplify serialization logic in Interpreter Roman Gershman 2022-02-05 18:20:06 +02:00
  • c567a70244 Add SCRIPT LOAD/EVALSHA Roman Gershman 2022-02-05 11:50:50 +02:00
  • ec70cc9e9f Add ScriptMgr class Roman Gershman 2022-02-04 22:50:13 +02:00
  • ab5031472e Small fixes Roman Gershman 2022-02-04 09:38:50 +02:00
  • ce721ced90 Get rid of SendRespBlob in RedisReplyBuilder Roman Gershman 2022-02-03 08:45:41 +02:00
  • 501dc4208d Refactoring of ReplyBuilder Roman Gershman 2022-02-03 00:43:09 +02:00
  • 067e1c3b62 Allow calling a redis function from interpreter. Roman Gershman 2022-02-03 00:31:26 +02:00
  • 4cff2d8b7d Export redis.* functions in lua scripts Roman Gershman 2022-02-01 23:03:28 +02:00
  • 7a2f4baeec Wire support for redis.call and redis.pcall commands Roman Gershman 2022-02-01 19:02:43 +02:00
  • fc56a8e61a Replica: add a state machine that continously pulls data from the master Roman Gershman 2022-02-01 16:11:19 +02:00
  • d1f6f6d410 Implement serialization of most lua data types that are returned to caller Roman Gershman 2022-02-01 13:15:19 +02:00
  • 8fbe19d3c5 Add (lua) interpreter with lua 5.4.4 Roman Gershman 2022-01-31 21:40:40 +02:00
  • 8a3207f23e Add skeleton of replication manager and initial support of replicaof command Roman Gershman 2022-01-29 21:02:31 +02:00
  • cf3d208f81 Add skeleton for replica/sync commands Roman Gershman 2022-01-29 13:21:22 +02:00
  • b56408b51a Add rdb_test Roman Gershman 2022-01-29 11:37:48 +02:00
  • 4db619b081 Add rdb_load basic parsing. No data filling yet Roman Gershman 2022-01-29 07:12:55 +02:00
  • 7d5ad8cc5b Serve http requests from redis port Roman Gershman 2022-01-28 23:11:01 +02:00
  • e68977a7bf Fix Populate bug Roman Gershman 2022-01-26 22:11:35 +02:00
  • 5c5c789ac7 dragonfly_connection Roman Gershman 2022-01-26 12:51:29 +02:00
  • b83c201e30 Add global state to the server to prevent multiple exclusive operations to run concurrently Roman Gershman 2022-01-26 09:05:15 +02:00
  • 254e640a19 Introduce per-shard MiMemoryResource Roman Gershman 2022-01-25 21:52:29 +02:00
  • 7ee6bd8471 Implement snapshot consistency under the write load Roman Gershman 2022-01-25 07:51:15 +02:00
  • a8a05949b0 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
  • f119e66199 Refactor Populate command. Name the helper fibers Roman Gershman 2022-01-23 20:53:45 +02:00
  • 65f35f2cac Some improvements to snapshotting algo. Roman Gershman 2022-01-24 16:56:25 +02:00
  • 3f80b89e19 Implement TYPE and SCAN commands. Update readme with the progress Roman Gershman 2022-01-24 08:49:38 +02:00
  • b2953293cd Simplify cursor encoding and state clearly cursor valid range Roman Gershman 2022-01-24 01:07:13 +02:00
  • ec91b2c026 Add mimalloc as the default allocator for redis structures Roman Gershman 2022-01-23 19:07:25 +02:00
  • af1fe6e114 Introduce dbslice versioning Roman Gershman 2022-01-22 22:09:01 +02:00
  • ce46ba7cb1 Introduce snapshot isolation using versioned buckets Roman Gershman 2022-01-22 21:05:49 +02:00
  • 8d19a6211d Introduce versioned bucket support for MVCC operations Roman Gershman 2022-01-22 12:21:08 +02:00
  • 069ed12c68 Introduce a naive snapshot flow and implement SaveBody for string/list entries Roman Gershman 2022-01-22 11:11:09 +02:00
  • 7af6aef4c7 Add consumer part of RdbSave flow Roman Gershman 2022-01-21 23:37:42 +02:00
  • d3ccd5b836 Implement Save of rdb header/epilog Roman Gershman 2022-01-21 23:13:27 +02:00
  • ba72e70de5 Wire SAVE and LASTSAVE commands Roman Gershman 2022-01-20 21:48:02 +02:00
  • 7a839b6081 Fix size() bug in dashtable Roman Gershman 2022-01-20 17:17:11 +02:00
  • f4cfce143c Switch PrimeTable to DashTable Roman Gershman 2022-01-20 12:26:10 +02:00
  • 97fbf69260 Use DashTable for ExpireTable Roman Gershman 2022-01-20 05:25:43 +02:00
  • d086341996 Add HashCode support to CompactObject Roman Gershman 2022-01-20 05:16:22 +02:00
  • c46e624e70 Model dashtable iterator as close as possible to std iterator Roman Gershman 2022-01-19 22:17:00 +02:00
  • ff9e13c1c5 Add dash table Roman Gershman 2022-01-19 21:43:23 +02:00
  • 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