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

PubSub controller changes #1596

Closed
Tracked by #1597
matt2e opened this issue May 29, 2024 · 0 comments · Fixed by #1673
Closed
Tracked by #1597

PubSub controller changes #1596

matt2e opened this issue May 29, 2024 · 0 comments · Fixed by #1673
Assignees

Comments

@matt2e
Copy link
Collaborator

matt2e commented May 29, 2024

No description provided.

@github-actions github-actions bot added the triage Issue needs triaging label May 29, 2024
@matt2e matt2e mentioned this issue May 29, 2024
14 tasks
@ftl-robot ftl-robot mentioned this issue May 29, 2024
@matt2e matt2e removed the triage Issue needs triaging label May 29, 2024
@matt2e matt2e self-assigned this May 30, 2024
matt2e added a commit that referenced this issue Jun 6, 2024
closes #1596 closes
#1642

How it works:
- pubsub managers poll for subscriptions that are behind the topic's
head
    - locks these subscriptions for the tx
    - skips subscriptions that are already locked
- Then finds the next event for each subscription
- If the event is newer than our artificial delay, we skip this
subscription on this attempt

Pubsub also speeds things up by:
- Polling once a second
- When it schedules an async call, notifies controller so we can attempt
to pick it up straight away
- this is wrapped in a mutex so that we don't accidentally get more and
more async calls running at once on a single controller
- When the async call is completed, pubsub is notified so that it can
immediately try progressing subscriptions again
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

Successfully merging a pull request may close this issue.

1 participant