-
-
Notifications
You must be signed in to change notification settings - Fork 97
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
Clients have no way to reliably send messages in order (other than serialising each and every send) #1316
Comments
well, clients can send messages in series (ie, not make a second |
Mostly wondering: why is waiting on the previous request to finish not an option for clients? Sure it may be a little slower but wouldn't the wait time just move to a different part of the chain as there is a reason the request takes longer in the first place? |
true. i guess the only problem is that it means your throughput of messages is limited to one per RTT. but given we throttle messages by default pretty slowly, perhaps that's not a disaster. |
Related to #260 (could be a duplicate with some adjusting) |
Given this, I'm going to close it for now. If the RTT becomes a real bottleneck (rather than server-side throughput), then we can reopen with something more focussed. |
In the current CS API, there is no way to assert an ordering of /send calls (EDIT: other than sending each and everyone in series, waiting for the 200 before you make the next request). Therefore if one request happens to take longer than another, or get delayed due to network conditions, there is no efficient way to require that ordering is preserved. This happens particularly often when recovering after a network outage.
I think our options are:
It feels like option 1 is the least worst option to me.
This would solve chronic bug 44: "Users expect messages to always be sent (and received) in the order that they were written."
The text was updated successfully, but these errors were encountered: