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

Error "<root>: unable to walk to transition root parent: unable to open synchronization root parent" #229

Closed
sergeysrabionyan opened this issue Sep 13, 2020 · 4 comments
Labels

Comments

@sergeysrabionyan
Copy link

How can i fix this error?
Снимок экрана 2020-09-13 в 14 11 41

@sergeysrabionyan
Copy link
Author

Also nowhere can I find a solution for this error "mutagen unable to validate existing file: modification detected"

@xenoscopic
Copy link
Member

The first issue ("unable to walk to transition root parent: unable to open synchronization root parent") indicates that the parent directory of the synchronization root is either inaccessible (due to permissions), doesn't exist, or isn't a directory. For example, if your synchronization target is /root/parent/child, then /root/parent needs to exist, Mutagen needs to be able to access it, and it needs to be a directory.

The second issue occurs when a file changes between the time that Mutagen performs a filesystem scan and the time that it tries to apply a change after reconciling filesystem contents between the two endpoints. For example, imagine that the alpha endpoint changes a file (let's call it file). Mutagen detects the change and scans the filesystem on both endpoints and determines that only alpha has changed file, while beta still has the old version. So, Mutagen decides to propagate the change from alpha to beta. After copying the file to beta, it looks at the filesystem and sees that file has changed on beta between the time that the scan was performed and the time that the change is ready to be applied. That's what this issue indicates. The time window for this error to occur is usually very small, and it's usually resolved automatically on the next synchronization cycle. It tends to occur when both endpoints are modifying the same file very rapidly (e.g. automatically writing to a log file). In those cases, it's usually better to exclude the file from synchronization. If the issue is occurring regularly and in a reproducible and sustained fashion, then I would recommend opening a separate issue with instructions on reproducing the issue.

@mkeara
Copy link

mkeara commented Nov 14, 2020

@havoc-io I have just run into this same issue and I read your response. But I'm not clear on the semantics around 'root' and 'parent' - ie /root/parent reads backwards to me.

What is the definition of 'synchronization root parent' in terms of the URLs assigned to Alpha and Beta?

In my case I have:

Name: mycache
...
Alpha:
     URL: /Users/me/Projects/myproject

Beta:
     URL: docker://wodby@drupal_project_php/volumes/mycache

service:
  php:
    volumes:
      - 'mycache/:/var/www/html'
/var/www             root:root
/var/www/html        wodby:wodby
/var/www/html/web    wodby:wodby

Which of these directories would be the synchronization root parent? And how could I resolve this issue?
Thanks for any help you could provide.

@xenoscopic
Copy link
Member

Hey @mkeara! In your example, the synchronization root parents for alpha and beta would be /Users/me/Projects and /volumes, respectively. The synchronization root is the last element of the URL, and the parent is just the directory above that. The term "root" here has no connection with the filesystem root or /root.

Which of these directories would be the synchronization root parent? And how could I resolve this issue?

Assuming that you're basing your setup off of #235, then none of the /var/www subdirectories listed here would be the synchronization root parent (since that container isn't the target of the synchronization). Instead the synchronization root parent is /volumes within the drupal_project_php container.

I think I'll probably need a little more info here, so I'll reach out to you directly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants