Confusion about "Out of Sync" state and ignores

I know this has been discussed many many times but there is something I still can’t wrap my head around.

For one of my folders I remembered to add .DS_Store and .AppleDouble to the ignores a bit too late. I started adding it to all the clients and removing those files.

I noticed that if I don’t remove the files on a client it becomes out of sync and I can’t understand why.

I have three clients A, B and C. They all had the ignores set up after .DS_Store was indexed.

  1. I go to A and remove .DS_Store:

    • Up to Date
    • Global State 87 items
    • Local State 87 items
  2. I go to B:

    • Out of Sync, showing .DS_Store as the reason.
    • Global State 88 items
    • Local State 87 items
  3. I remove .DS_Store from B:

    • Up to Date
    • Global State 87 items
    • Local State 87 items
  4. I go to C:

    • Out of Sync, showing .DS_Store as the reason.
    • Global State 88 items
    • Local State 87 items
    • I expect this NOT to be the case. A and B don’t have the file and it is already ignored on all the devices.
  5. I remove .DS_Store from C:

    • Up to Date
    • Global State 87 items
    • Local State 87 items
  6. I recreate .DS_Store on C:

    • Up to Date
    • Global State 87 items
    • Local State 87 items
    • This is what I expected to see here and at step 4.
  7. I remove .DS_Store from .stignore on C:

    • Up to Date
    • Global State 88 items
    • Local State 88 items
    • A and B still shows “Up to Date” and 87/87
    • This is what I expected to see here.
  8. I add .DS_Store to .stignore on C:

    • Out of Sync, showing .DS_Store as the reason.
    • Global State 88 items
    • Local State 87 items
    • Same as step 4 but why?

What am I missing in this scenario?

I noticed this behavior after I upgraded all my devices to 0.14.2 and set up a new folder. I forgot to set up ignores before but I don’t remember seeing this kind of issue.

Edit:

I can reproduce it on all the clients.

  • A is OS X on a MacBook Pro
  • B is Raspbian on a Raspberry Pi
  • C is CentOS on a VPS server.

Edit 2:

I tried restarting the clients between each step sometimes one by one sometimes at the same time.

In step 4, the other 2 clients haven’t told c the file doesn’t exist because they are now ignoring it.

C just knows it is meant to be downloaded but doesn’t have anywhere to pull it from

  • At step 5 and 6 no one has it, everyone ignores it.
  • At step 7 only C has it, others don’t have it.
  • At step 8 C ignores it. There is no one telling C about that file. How can it think it is meant to be downloaded?

I am just guessing but at step 7 it is in the global state.

At step 8 it has been removed from the local state but not deleted/removed from the global state. A restart at step 8 should resolve the issue.

I thought about that but then again if A and B don’t think that it is in the global state because they ignore that file, C should do the same and ignore the fact that it is in the global state not see it in the global state, which is what I expected.

The other thing is, me removing the file from the file system doesn’t change how C sees the local state and global state but it becomes “Up to Date” when I do that.

I tried restarting, it doesn’t help :slight_smile:

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.