Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pause slice projections and replication #1128

Open
johanandren opened this issue Feb 21, 2024 · 0 comments
Open

Pause slice projections and replication #1128

johanandren opened this issue Feb 21, 2024 · 0 comments

Comments

@johanandren
Copy link
Member

johanandren commented Feb 21, 2024

In ProjectionManagement we have methods to pause and resume projections, across the cluster, if you know the ProjectionId up front. For projections feeding from events by slice queries, the slice range of each partition is a suffix of the projection id, and number of partitions may be dynamically scaled, so it can be a bit tricky to actually know the current specific projection ids up front.

For replication the projection id is completely made up behind the scenes from a static prefix, the entity type name, from replica id and to replica id, followed by the same slice range. So again, it is possible for a user to figure out all the projection ids and call ProjectionManagement.pause but it is tricky.

It would be good with an API that makes it possible to pause all partitions of a slice-range based projection, and (possibly another) API to pause all replication to a specific or all replicas.

User API could perhaps wildcard suffix based (RES_myentity* for all replication of my_entity, my_sliced_projection* for all partitions of a regular slice query projeciton) but note that we don't have a cluster-global registry of all running projection ids that we could match against in the current ProjectionManagement implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant