# stuck syncing at 90%

**URL:** https://forum.syncthing.net/t/stuck-syncing-at-90/6991
**Category:** Support
**Created:** [March 19, 2016, 1:07pm UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991 "2016-03-19T13:07:53Z")
**Posts on this page:** 19
**Page:** 1

<div class="post-metadata">

### Author: ![elfo74](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/e/3be4f8/32.png) [@elfo74](https://forum.syncthing.net/u/elfo74)
#### Post date: [March 19, 2016, 1:07pm UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/1 "2016-03-19T13:07:53Z")

</div>

Hey guys,

I have 2 nodes syncing 2 folders between them. One of the nodes got stuck at 90% when I was testing ignore-Delete, trying to setup a backup resilient to ransom-ware.

Here is my setup:

- Node1 - v0.12.20 on slackware64

- folder1 - all default settings

- folder2 - all default settings + ignoreDelete is set

- Node2 - v0.12.20 on windows xp 32bit (running on qemu)

- folder1 - all default settings

- folder2 - all default settings

Here is what I did:

1. copied file to folder2 on node2
2. it replicated on folder2 on node1
3. ziped file on folder2 on node2 while deleting original (simulate ransom-ware)
4. ziped file replicated to folder2 on node1, but original file did not disappear from folder2 on node1 (that was the desired outcome)
5. deleted ziped file from folder2 on node1
6. it disapeared from folder2 on node2 (also desired outcome)

Now, on node1 webGUI it says all nodes are synced, but webGUI on node2 says node1 is “Syncing (90%)”… Tried restarting syncthing on both nodes… didn’t help.

Can you please help me figuring out what is wrong with the webGUI on node2?

Thanks

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [March 19, 2016, 1:30pm UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/2 "2016-03-19T13:30:57Z")

</div>

> [@elfo74](#):
>
> ignoreDelete is set

This is expected, then. That device is ignoring updates, so it will never be up to date from the other devices point of view. This is even [documented](https://docs.syncthing.net/advanced/folder-ignoredelete.html) for the setting in question:

> In this state, Bob is fully up to date from his own point of view, as is Alice from her own point of view. However from the point of view of Bob, who ignored the delete entry from Alice, Alice is now out of date because she is missing the file that was deleted.

---

<div class="post-metadata">

### Author: ![elfo74](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/e/3be4f8/32.png) [@elfo74](https://forum.syncthing.net/u/elfo74)
#### Post date: [March 19, 2016, 2:07pm UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/3 "2016-03-19T14:07:43Z")

</div>

I read that as well, but this is the confusing part: node1 (bob) is the one that has ignoreDelete set, so it should see node2 (alice) as out-of-sync, but it is the other way around… it is Alice that sees Bob stuck at 90%

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [March 19, 2016, 2:19pm UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/4 "2016-03-19T14:19:47Z")

</div>

No…

- Node1 has ignoreDelete set
- Node2 sends updates about deleted files.
- Node1 ignores those updates
- Node2 sees that Node1 hasn’t applied the updates
- Node2 thinks Node1 is out of date

---

<div class="post-metadata">

### Author: ![elfo74](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/e/3be4f8/32.png) [@elfo74](https://forum.syncthing.net/u/elfo74)
#### Post date: [March 19, 2016, 2:43pm UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/5 "2016-03-19T14:43:59Z")

</div>

What you say makes sense to me, and that is what I’m getting, but it was not what I thought by reading the [documentation about ignoreDelete](https://docs.syncthing.net/advanced/folder-ignoredelete.html).

```
Assume two devices, “Alice” and “Bob”, are sharing a folder. Bob has set ignoreDelete.
----snip----
However from the point of view of Bob, who ignored the delete entry from Alice, Alice is now out of date because she is missing the file that was deleted.
```

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [March 19, 2016, 2:54pm UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/6 "2016-03-19T14:54:22Z")

</div>

That too. They’ll probably both look out of date to each other in the end, actually. You’re right that could be clarified.

---

<div class="post-metadata">

### Author: ![elfo74](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/e/3be4f8/32.png) [@elfo74](https://forum.syncthing.net/u/elfo74)
#### Post date: [March 19, 2016, 3:07pm UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/7 "2016-03-19T15:07:03Z")

</div>

Yes, the documentation is a bit confusing, at least on this topic.

I tested it further with renames as well on both nodes and node1 not only kept the original file but also got the “new” file (same file contents, but different file name).

This is what I hoped, as it guaranties that if something like cryptolocker hits my server I’ll have the original files ( plus the encrypted files) at my backup server.

On all tests, node1 (Bob) thinks node2 (Alice) is in sync, but node2 (Alice) thinks node1 (Bob) is syncing at nn%

Thanks for clarifying for me, and for considering a documentation clarification 🙂

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [March 19, 2016, 4:26pm UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/8 "2016-03-19T16:26:21Z")

</div>

> [@elfo74](#):
>
> This is what I hoped, as it guaranties that if something like cryptolocker hits my server I’ll have the original files ( plus the encrypted files) at my backup server.

Not due to the `ignoreDeletes` option though, if they are modified in place. That would still be synced. Renames though are seen as a create + delete, resulting that you see above.

---

<div class="post-metadata">

### Author: ![kluppy](https://forum.syncthing.net/user_avatar/forum.syncthing.net/kluppy/32/4197_2.png) [@kluppy](https://forum.syncthing.net/u/kluppy)
#### Post date: [March 20, 2016, 9:57am UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/9 "2016-03-20T09:57:21Z")

</div>

Made a change to the docs to reflect @elfo74’s experience.

Bob ignores the delete and sees Alice as up to date.  
Alice deletes the file and sees Bob as out of sync.

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [March 20, 2016, 10:07am UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/10 "2016-03-20T10:07:06Z")

</div>

> [@kluppy](#):
>
> Bob ignores the delete and sees Alice as up to date.

This also becomes out of date. Bob ignores the delete, so sees no announce at all for the deleted file. Hence he thinks Alice is missing the file entirely.

---

<div class="post-metadata">

### Author: ![kluppy](https://forum.syncthing.net/user_avatar/forum.syncthing.net/kluppy/32/4197_2.png) [@kluppy](https://forum.syncthing.net/u/kluppy)
#### Post date: [March 20, 2016, 10:56am UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/11 "2016-03-20T10:56:45Z")

</div>

> [@calmh](#):
>
> Bob ignores the delete, so sees no announce at all for the deleted file. Hence he thinks Alice is missing the file entirely

This is what I initially had in the doc but not what @elfo74 said occurred. I am running on my phone at the moment so I can’t test for myself.

I assumed Alice must announce the file as being deleted in the index exchange which Bob ignores. Unless Bob changes the file he shouldn’t be trying to push it back to Alice so must track that Alice is up to date until the file is changed again.

I was also wondering if this would break when you merge the deleted files being removed from the index once all devices are aware of the delete. If so would we see deleted files synced back to devices once all of the members of the cluster remove the file from their index?

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [March 20, 2016, 11:03am UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/12 "2016-03-20T11:03:06Z")

</div>

> [@kluppy](#):
>
> I assumed Alice must announce the file as being deleted in the index exchange which Bob ignores. Unless Bob changes the file he shouldn’t be trying to push it back to Alice so must track that Alice is up to date until the file is changed again.

No. Since Alice doesn’t (apparently) announce the file, she doesn’t have it at all, hence cannot be up to date. Remember, we don’t currently keep track of what devices have announced previously, as the index is sent in full at connection start.

> [@kluppy](#):
>
> I was also wondering if this would break when you merge the deleted files being removed from the index once all devices are aware of the delete.

We don’t do this (as you probably know, but for clarity for any other readers). But if we did, this probably wouldn’t happen in this scenario as the device with `ignoreDeletes` will never appear to be aware of the delete, since it doesn’t accept that update in the first place.

---

<div class="post-metadata">

### Author: ![kluppy](https://forum.syncthing.net/user_avatar/forum.syncthing.net/kluppy/32/4197_2.png) [@kluppy](https://forum.syncthing.net/u/kluppy)
#### Post date: [March 20, 2016, 11:17am UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/13 "2016-03-20T11:17:19Z")

</div>

Thanks for the clarification. I will make an edit to the docs when I get a chance tomorrow if no one does it first.

---

<div class="post-metadata">

### Author: ![lfam](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/l/ea666f/32.png) [@lfam](https://forum.syncthing.net/u/lfam)
#### Post date: [March 21, 2016, 3:01am UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/14 "2016-03-21T03:01:50Z")

</div>

> [@elfo74](#):
>
> trying to setup a backup resilient to ransom-ware.

I’m going off-topic from the discussion, but I think that a program designed for 2-way sync (like Syncthing) is not the right tool for this use case. I recommend something designed for append-only backups.

---

<div class="post-metadata">

### Author: ![kluppy](https://forum.syncthing.net/user_avatar/forum.syncthing.net/kluppy/32/4197_2.png) [@kluppy](https://forum.syncthing.net/u/kluppy)
#### Post date: [March 21, 2016, 9:09am UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/15 "2016-03-21T09:09:43Z")

</div>

Hi @calmh

I tried setting ignore delete in a test folder on my work laptop and the GUI does show devices which deleted the file as up to date i.e.

> [@kluppy](#):
>
> Bob ignores the delete and sees Alice as up to date.

This seems to persist in the GUI until Bob performs a restart, neither refreshing without cache nor manual or automatic scans caused Alice to display as out of sync. Once Bob’s Syncthing instance restarted Alice appeared out of sync.

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [March 21, 2016, 9:15am UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/16 "2016-03-21T09:15:07Z")

</div>

Yep. I’ll leave it as an exercise for the reader to figure out why it behaves like that. 🙂

---

<div class="post-metadata">

### Author: ![elfo74](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/e/3be4f8/32.png) [@elfo74](https://forum.syncthing.net/u/elfo74)
#### Post date: [March 21, 2016, 2:51pm UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/17 "2016-03-21T14:51:11Z")

</div>

[quote=“lfam, post:14, topic:6991, full:true”]

> [@elfo74](#):
>
> trying to setup a backup resilient to ransom-ware.

I’m going off-topic from the discussion, but I think that a program designed for 2-way sync (like Syncthing) is not the right tool for this use case. I recommend something designed for append-only backups. [/quote]I’d argue that options like file versioning and ignoreDelete are very well suited for that kind of use case.

Regardless, I’m just trying it out and, if it all goes well, I’ll implement it as an addition to the 2 other backup systems in place.

Storage is cheap(ish) now and data can be priceless, so it would be almost criminal to not have redundant backups.

---

<div class="post-metadata">

### Author: ![lfam](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/l/ea666f/32.png) [@lfam](https://forum.syncthing.net/u/lfam)
#### Post date: [March 21, 2016, 8:53pm UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/18 "2016-03-21T20:53:32Z")

</div>

> [@elfo74](#):
>
> I’d argue that options like file versioning and ignoreDelete are very well suited for that kind of use case.

Sure, but it means you are only a configuration error away from compromising your backups. You will need to protect your configuration file very carefully.

---

<div class="post-metadata">

### Author: ![system](https://forum-uploads.syncthingcdn.net/original/2X/0/0b50e0a202b22ae6a67190759e8c868805b8ed9f.png) [@system](https://forum.syncthing.net/u/system)
#### Post date: [April 20, 2016, 8:53pm UTC](https://forum.syncthing.net/t/stuck-syncing-at-90/6991/19 "2016-04-20T20:53:43Z")

</div>

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