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

consecutive version diff'ing #24

Closed
dret opened this issue Oct 25, 2016 · 5 comments
Closed

consecutive version diff'ing #24

dret opened this issue Oct 25, 2016 · 5 comments

Comments

@dret
Copy link
Member

dret commented Oct 25, 2016

i am woondering if this has been implemented, and if so, how robust it is: "The hub MAY reduce the payload to a diff between two consecutive versions if its format allows it."
even if we assume that a hub never misses a topic update, the same cannot be said for subscribers, so for them getting diffs may be problematic. they might also not even notice that there is a problem, unless the versions carry ETags strong enough to verify the versions, and their ability to be used for diff purposes.

@aaronpk
Copy link
Member

aaronpk commented Oct 25, 2016

afaik the implementation of this has been around sending individual items from a feed, such as entries an in RSS feed.

@tonyg
Copy link
Contributor

tonyg commented Oct 25, 2016

This question touches on thorny issues of content model, "reliability" level, consistency properties etc.

What is PubSub for? Transient, best-effort notifications where occasional message loss is fine and expected (atop which something else may be built), or "reliable", high-value notifications, where message loss is frowned upon and serious energy is expended on making sure notifications aren't missed, or duplicated?

Since "guaranteed delivery" isn't a thing, it might make sense to explicitly go for a best-effort/unreliable framing, and to leave "reliability" to upper levels. However, it could be a big help if some indication of lost or duplicate notifications were able to be provided! Could a hub be asked to assign a sequence number to its notifications? (It would have to be scoped very carefully.) That way at least consumers could detect gaps and duplications in the stream, and take application-specific appropriate action.

@julien51
Copy link
Collaborator

@tonyg I believe enforcing reliability can very well happen at the "content" level and not at the protocol level. The best solution I found for this was to have some kind of sequential id in each "payload" that the hub passes through. The subscriber can then easily identify if it's missing parts.

@tonyg
Copy link
Contributor

tonyg commented Oct 26, 2016

@julien51 Thank you! Your remark helped me realise that what I was thinking of is best left for later, and out of scope for this round of the spec. Sorry for muddying the water. Keeping this spec best-effort/unreliable seems very much the best option.

@julien51
Copy link
Collaborator

julien51 commented Nov 8, 2016

NP!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants