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

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

Description

@FinnWoelm

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!)

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementIssues that will enhance the user experience

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions