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

Prevent data loss in concurrent updates - Using synchronous code #1105

Closed
timbl opened this issue Feb 18, 2019 · 3 comments
Closed

Prevent data loss in concurrent updates - Using synchronous code #1105

timbl opened this issue Feb 18, 2019 · 3 comments
Labels
blocker bug priority-high to be used for important issues and pull requests that need to be addressed soon

Comments

@timbl
Copy link
Contributor

timbl commented Feb 18, 2019

The solid system requires that inconsistent changes from concurrent users editing the same thing should never lose data, returning 409 to the change which failed. (Semaphore operation). Currently the server can fail to do this because the second request can come in between the first one reading the file and writing the modified file.

This issue solves the problem by changing the patch handler so that the

  • target file read
  • target file parse
  • patch data
  • target file serialize
  • target file write

Are all synchronous, blocking the server from handling other requests in between

@timbl timbl added bug priority-high to be used for important issues and pull requests that need to be addressed soon blocker labels Feb 18, 2019
@megoth
Copy link
Contributor

megoth commented Mar 3, 2019

I suggest closing this issue in favor of #1106.

@timbl
Copy link
Contributor Author

timbl commented Mar 8, 2019

Agreed. Is there a way of expressing that to the system?

@kjetilk
Copy link
Member

kjetilk commented Mar 8, 2019

Mentioning the bug number #1106 creates a cross-reference, I think that is the best we can do, so, hereby done. :-)

@kjetilk kjetilk closed this as completed Mar 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocker bug priority-high to be used for important issues and pull requests that need to be addressed soon
Projects
None yet
Development

No branches or pull requests

3 participants