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

Add Controller APIs to add/remove/update subscriber from multiple Streams. #5306

Closed
pbelgundi opened this issue Nov 6, 2020 · 1 comment
Closed
Assignees

Comments

@pbelgundi
Copy link
Contributor

pbelgundi commented Nov 6, 2020

Problem description
Current for ConsumptionBasedRetention we have APIs to add/remove a Subscriber from a Single Stream.
But if a Reader Group reads from multiple Streams, the subscriber addition/deletion/update to all Streams in the ReaderGroup Configuration needs to happen atomically.

Problem location
Controller

Suggestions for an improvement
This can be done by adding the following 4 new APIs to controller:

addSubscriberToStreams(List < Stream > , String subscriber)
This internally would use the ControllerEventProcessor framework to make sure the subscriber is added to all Streams (at least eventually)

b. deleteSubscriberFromStreams(List < Stream > , String subscriber)
Same like (a)

c. UpdateSubscribersForStreams(Map < Stream, String, opr >)
Add/delete a subscriber from multiple streams (add to some/delete from some) and complete all updates atomically.

d. UpdateSubscriberStreamcut(Map < Stream, StreamCut >)
Add/delete subscriber from a stream and complete all updates atomically.
All Unit and Integration Tests should pass
@pbelgundi pbelgundi self-assigned this Nov 6, 2020
@pbelgundi
Copy link
Contributor Author

This is not needed anymore.

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