Skip to content
This repository has been archived by the owner on Mar 27, 2024. It is now read-only.

VCS::FileInBranch#pull can encounter strange race conditions #326

Open
FinnWoelm opened this issue Feb 13, 2019 · 0 comments
Open

VCS::FileInBranch#pull can encounter strange race conditions #326

FinnWoelm opened this issue Feb 13, 2019 · 0 comments
Labels
enhancement Issues that will enhance the user experience

Comments

@FinnWoelm
Copy link
Contributor

On Google Drive, given a folder folder 1 with a file file A inside. Then file A is moved out of folder 1 into folder 2. And folder 1 is deleted.

Both folder 1 and file A are currently loaded into memory.

When folder 1 is pulled, it is marked as deleted and so are its current children, including file A. When file A is pulled afterwards, all its attributes remain unchanged except for its parent (now folder 2). So when we call #save, it updates only parent in the database — not the other attributes. So in the database file A remains incorrectly marked as deleted.

We can fix this by either marking all force-update fields as dirty: name_will_change! and parent_id_will_change! etc...

Or we can drop those fields completely and use just current_version_id for inheriting those fields (and forcing current_version_id to update by marking it as dirty!)

@FinnWoelm FinnWoelm added the enhancement Issues that will enhance the user experience label Feb 13, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement Issues that will enhance the user experience
Projects
None yet
Development

No branches or pull requests

1 participant