restatedev / restate

Restate is the platform for building resilient applications that tolerate all infrastructure faults w/o the need for a PhD.
https://docs.restate.dev
Other
1.63k stars 37 forks source link

Decouple ingress from PartitionStoreManager #1811

Closed tillrohrmann closed 2 weeks ago

tillrohrmann commented 3 months ago

The Ingress has currently direct access to the PartitionStoreManager and all PartitionStores to read the invocation output: https://github.com/restatedev/restate/blob/3dc889771f3869e3e19a7f9beca4b1f85d991c4a/crates/worker/src/ingress_integration.rs#L43.

This won't work in the distributed setup anymore because we cannot assume that the ingress is colocated with all partition leaders. Instead, we need to enable the Ingress to lookup the leader for a given PartitionKey and then fetch the invocation output from it.

tillrohrmann commented 3 months ago

This issue is related to #1651 since it refers to the communication between the ingress and the partition processor.