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

core: update Concurrency bit to allow for snapshot view rather than requiring locking #117

Closed
brong opened this issue Jul 19, 2017 · 0 comments

Comments

@brong
Copy link
Member

brong commented Jul 19, 2017

From Chris Newman:

3.6 Concurrency

For potentially long-running operations like search and copy/move-messages, the creates an inappropriate and unnecessary implementation burden on the server. In general, the goal is that the server should present a consistent view of data to the client, even if it's slightly out-of-date by the time the method completes. It's fine to state this and even say the ability of a server to present a consistent view to clients is a quality-of-implementation issue for the server. But don't force the presence of a hard locking mechanism into the server implementation unless it's absolutely necessary as that harms server scalability.

Normative restrictions on concurrency should be specified for those methods that need them and be minimally restrictive. For example, a multi-message move operation should either move all messages or none of them, and the messages should retain their relative ordering in the destination folder. But additional restrictions are not needed to present a good client experience.

@neilj neilj closed this as completed in 98971c9 Sep 4, 2017
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

No branches or pull requests

1 participant