Some time ago we migrated from Pydio 8 to Pydio Cells (currently 3.0.3).
Due to the Let’s Encrypt DST Root CA X3 expiration issue the Pydio Sync stopped working for us and we were forced to migrate. This took quite a while, with the result that we “synced” our files manually (by downloading/uploading via web) in that time.
It turned out that our manual sync approach was not very error prone, so we ended up with some conflicts.
We see “conflict on path”, “errors detected while validating patch”, “diff has conflicts [conflict on path]” errors with “Create folder”, “Move folder”, “Transfer File” as “Operations”:
We also see “rpc error: code = Internal desc = server closed the stream without sending trailers” which seem to correspond to the following error in the log file:
Hello @dpat
Sorry for the late answer. Covid is hitting the team
Regarding these conflicts, are you able to describe the actual differences between the remote and the local trees? It would be interesting to better understand the case.
We still believe there are lot of inconsistencies and we are still not in “production mode” yet and after the time went by it is quite hard to recover all the details.
But lets take a look at this screenshot for example:
The specific error is now not shown anymore and I do not know why, but the files are now in place (maybe I fixed it manually).
But AFAIR at that time the situation looked like this:
Pydio Cells Server - all files did exist in that folder
Client A - all files did exist in that folder → Start CellsSync
Client B - all files except the listed files existed in that folder → Start CellsSync
We do not know why the files were missing on Client B (we believe the old Pydio Sync never downloaded them, but we weren’t aware of the difference), but the folders did not contain the same number of files when starting CellsSync.
So this error was only shown on Client B and the only way to fix it was to download the files via the Webfrontend or manually copy the files from Client A.
In the meanwhile we found a bunch of other files and folders which are missing but sync errors are not shown. Errors seem only to been shown if we touch a file in a folder which is already inconsistent.
Is there a way to to force a complete “recheck” and find inconsistent folders? “Resync all” does not do the trick, it seems.
Ok. I was brave and tried it. And indeed this brings up the error “diff has conflicts [conflict on path ]” again and also lists all the folders and files with “differences”.
But what to do next? How can we upload and download all missing files?
Humm… Can you first try to understand what “conflicts” are detected? If you check some folders/files of the error list, do you actually see any differences between local and remote ?
@charles
The task was quite difficult, because we did not know which sync strategy was going to kick in.
For instance, we had these kinds of problems:
we had local folders with missing files on the client (here the strategy would be easy: download only)
we had files with different content (“real” conflicts, here the strategy would be: check each file on each endpoint (server + clients) and decide which version is correct).
Our first concern was: what could we expect when running “full sync”? What will happen to the conflicts? Will everything on Client X considered “correct” or everything from the server? It turned out “full sync” was quite conservative and just brought up the list of conflicts. Fine.
We later found (in More actions → Parameters of the task) that we could change “Bi-directional” to “Mirror (download only)” or “Backup (upload only)”
Anyway, our next concern was: what does “Download only” and “Backup only” actually do? Will it overwrite data? So we did not try these options because we did not know if everything on the server was “golden”, nor did we know if the data (which data) on the client was (not) up-to-date.
What we need is a way to individually resolve a conflict (on file level). So the actual question still is: how to resolve individual conflicts? Any tips?