portals-project / portals

Portals is a framework for stateful serverless apps, unifying dataflow streaming with actors
https://www.portals-project.org/
Apache License 2.0
19 stars 2 forks source link

State Management #96

Open jspenger opened 1 year ago

jspenger commented 1 year ago

The Portals runtime currently only supports in-memory state, and does not support checkpointing/recovering state. We should fix this, and implement a suitable persistent state backend. RocksDB is a good choice for this, as it is widely used by other stream processing systems.

The tasks for this issue are the following:

Notes:

jspenger commented 1 year ago

Due to some of the issues that have appeared during this issue, such as serialization similar, we will isolate this new work to a branch rocksdb-experiment. I suggest we continue working on that branch, it is ok for now to break any of the tests and examples on the branch. Before merging the new changes to main, however, we will do a larger review of the changes to cleanup the code and make sure that it works, see #164. Also, we should make sure to squash all commits for that.