-
Notifications
You must be signed in to change notification settings - Fork 23
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
Is a SUBSCRIBE_UPDATE with Start Group in the past an error? #595
Comments
You can't widen a SUBSCRIBE with a SUBSCRIBE_UPDATE, so I don't think there's an issue? |
SUBSCRIBE (Group 0, Group infinity) Should be an error. One way to solve this would be to just get rid of start group, if there's no use case |
I think there are potential use cases, so I'd prefer not to get rid of start group yet. For example, if you wanted to switch to a higher resolution, but realized you weren't going to get quite enough of the Group to switch up at the next group boundary, you could bump the start group by 1. I think your example could be racy. Groups 0 to 5 are sent, and when they're in flight, the SUBSCRIBE_UPDATE(Group 3) is sent and possibly lost and needs to be retransmitted. The fact that SUBSCRIBE_UPDATE is sent on a reliable stream and could be lost and need to be retransmitted means it could end up being received a while after it was originally sent. Also, updating to a group that is in the past by the time it's received seems rather easy to handle and innocuous. Does it create a problem I'm not thinking of? |
It seems inconsistent to me that SUBSCRIBE to the past is an error and SUBSCRIBE_UPDATE isn't. Aren't all the arguments you made equally valid to gracefully handle such a SUBSCRIBE? |
Individual Comment: In implementing FETCH / SUBSCRIBE, I ran into trouble by making Start Group in the past an error for SUBSCRIBE. My recommendation is to treat this like the range in FETCH -- as long as the receiver will get anything it's not an error, and the OK will tell you where the thing actually starts. Maybe then we can be consistent with SUBSCRIBE and SUBSCRIBE_UPDATE, though UPDATE has no OK. Here's what I said in slack
|
SGTM |
I added Needs PR, under the assumption that an editorial PR might be helpful, but I'm not sure exactly what that PR would contain? |
Individual Comment: My strawman is:
Separate question if SUBSCRIBE_UPDATE should operate on group boundaries only? I'm concerned about the case where I subscribe at (0,0) and relay begins delivering subgroup 1 which contains objects 0-10. After object 2 I update subscribe to start at object 7. Does relay send:
or
|
It is for SUBSCRIBE. Maybe SUBSCRIBE_UPDATE shouldn't have a start group at all?
The text was updated successfully, but these errors were encountered: