Hello again:
Got a bit more information here. To be clear: looks like we don’t have any actual data loss - but this looks like a weird edge case that I presume we would like to see fixed!
Assuming topology isn’t an issue here, there are two machine relevant in the Syncthing cluster: a user-operated Mac (AOYVY6K) and a NAS on the local network (LUQDG7T). A folder full of data was dropped into a newly-configured shared folder (theoretically (and probably) empty in all locations) on the Mac, in order that it syncs up to the other devices in the cluster.
Most of the data is in place - but some files in some folders are now in .stversions on the Mac, and are completely missing on the NAS. Whilst this was going on, no-one was making any changes on the NAS - so there shouldn’t have been anything causing the files to get deleted.
Here’s the information the API (on the Mac) is reporting for a file which is correctly in place on both Mac and NAS:
curl -k -X GET -H "X-API-Key: ******" 'http://localhost:8384/rest/db/file?folder=*****-*****&file=path/to/file1'`
`{`
"availability": [
{
"id": "LUQDG7T-******",
"fromTemporary": false
}
],
"global": {
"deleted": false,
"ignored": false,
"invalid": false,
"localFlags": 0,
"modified": "2010-07-06T10:44:31+01:00",
"modifiedBy": "AOYVY6K",
"mustRescan": false,
"name": "path/to/file1",
"noPermissions": true,
"numBlocks": 1,
"permissions": "0770",
"sequence": 18949,
"size": 111915,
"type": 0,
"version": [
"AOYVY6K:1"
]
},
"local": {
"deleted": false,
"ignored": false,
"invalid": false,
"localFlags": 0,
"modified": "2010-07-06T10:44:31+01:00",
"modifiedBy": "AOYVY6K",
"mustRescan": false,
"name": "path/to/file1",
"noPermissions": true,
"numBlocks": 1,
"permissions": "0770",
"sequence": 727,
"size": 111915,
"type": 0,
"version": [
"AOYVY6K:1"
]
}
}
And here’s the information the API (on the Mac) is reporting for a file which is incorrectly in .stversions on the Mac, and missing on the NAS. This file should be in the same folder as the file detailed above:
curl -k -X GET -H "X-API-Key: ******" 'http://localhost:8384/rest/db/file?folder=*****-*****&file=path/to/file2'
{
"availability": [
{
"id": "LUQDG7T-*****",
"fromTemporary": false
}
],
"global": {
"deleted": true,
"ignored": false,
"invalid": false,
"localFlags": 0,
"modified": "2018-12-02T20:43:00Z",
"modifiedBy": "LUQDG7T",
"mustRescan": false,
"name": "path/to/file2",
"noPermissions": false,
"numBlocks": 0,
"permissions": "0",
"sequence": 7016,
"size": 0,
"type": 0,
"version": [
"AOYVY6K:1",
"LUQDG7T:1"
]
},
"local": {
"deleted": true,
"ignored": false,
"invalid": false,
"localFlags": 0,
"modified": "2018-12-02T20:43:00Z",
"modifiedBy": "LUQDG7T",
"mustRescan": false,
"name": "path/to/file2",
"noPermissions": false,
"numBlocks": 0,
"permissions": "0",
"sequence": 33453,
"size": 0,
"type": 0,
"version": [
"AOYVY6K:1",
"LUQDG7T:1"
]
}
}
Unfortunately, as this happened over a month ago, we have no recourse to logs or other forensics - unless there are other API probes you can suggest to narrow down what has happened here.
Any thoughts? Thanks!