Skip to content

Fix issue with cancellation causing corruption with source files. #1993

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

Merged
merged 2 commits into from
Feb 10, 2015

Conversation

CyrusNajmabadi
Copy link
Contributor

No description provided.

The problem here was as follows:
1) Host calls into the LS to do some sort of operation.
2) LS tries to synchronize with the host.
3) During synchronization we attempt to create a new program.
4) Creating the new program causes us to incrementally update some source files.
5) Incrementally updating a source file produces a new source file, and invalidates the old one.
6) *Then* the host asks to cancel this operation.
7) THe synchronization process cancels itself, leaving the LS in an inconsistent state where some
   of its source files have had their trees updated, but the information about the source file still
   thinks that we have the previous version.

The fix is to not allow cancellation during host synchronization.  Once we start, we have to go
all the way to completion.
@vladima
Copy link
Contributor

vladima commented Feb 10, 2015

👍

1 similar comment
@mhegazy
Copy link
Contributor

mhegazy commented Feb 10, 2015

👍

CyrusNajmabadi added a commit that referenced this pull request Feb 10, 2015
Fix issue with cancellation causing corruption with source files.
@CyrusNajmabadi CyrusNajmabadi merged commit 91dd9b6 into master Feb 10, 2015
@mhegazy mhegazy deleted the incrementalCorruption branch February 24, 2015 22:41
@microsoft microsoft locked and limited conversation to collaborators Jun 18, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants