Flow control
Nobody has claimed this yet.
- #254 by @tulshi — closed without merging
- Dominant language
- Makefile
- Stars
- 78
- Forks
- 18
- PR merge metrics
- No merged PRs in 30d
Description
Should there be language in the spec to support flow control?
Buffering, backpressure etc.
Today, for PUSH:
-
A Transmitter is free to send as many or as little events per second as it wants.
Most implementations would likely send events as soon as they are generate, potentially overwhelming Receivers during periods of high activity. -
A Transmitter is free to buffer as many or as little events as it wants. So if the Receiver is down / unavailable, or is otherwise unable to ack all events for some reason, the Transmitter may start dropping them.
Similar considerations apply to PULL:
- If events are not pulled regularly, the Trasmitter may start dropping them. The exact details of how many events are buffered, for how long, etc. are implementation dependent and outside the spec currently.
I think it would be useful to have some of these knobs visible in the metadata / stream config, so that the Transmitters and Receivers can plan accordingly.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by reviewing the Shared Signals specification and the discussion around linked pull request #254, then determine whether the issue has an agreed direction for PUSH and PULL flow control. Done means a decided, implementable specification for buffering, backpressure, acknowledgements, and relevant metadata or stream configuration.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100