FTP delete not atomic / verified / transactional (?)

I think I’ve been asking what problems that causes. Some are known. Some are in process of fix.

had been aging quite awhile. Credit to @Jojo-1000 for jumping in. Still needs review, release, etc.

Read Error during compact forgot a dindex file deletion, getting Missing file error next run. #4129.

which basically follows

Its planned solution has the dindex files be marked as Deleting (just like its dblock) for later cleanup.
It’s not exactly a DB transaction issue, but a transaction issue because it needs destination rollback.
Getting state information fully (not half) stored in advance lets destination get consistent after crash.

were some of my statistics. Timeout means a kill. A missing is probably the dindex issue from above.
In CLI output, it’s looking for ErrorID: MissingRemoteFiles. An extra is a similar search in output.
After interrupted backup, next backup failed with remote files that are not recorded in local storage #4485 is possibly that one, but although there are steps to reproduce, it’s not clear if a compact is required…

Because you’re a developer, would you have any interest in building the compact PR for your testing?
You do seem to have a good environment to test hard kills more meaningfully than my little test script.

You’ve probably also seen a few of these. Any characterization of what tends to lead to this big pain?
Maybe you have logs? I’m still looking for these, even doing a database recreate after every backup.
Because that’s rather slow, I also wrote a Python script to look over dlist and dindex files, to forecast.
But just like “a watched pot never boils”, the problem seems not to happen with two tools watching it.
If I gave you the script, would you have a slow-to-recreate destination that it could be tested against?

Not in this big thread, for sure. If you have a solid issue, best thing is to open a GitHub issue with steps.

The occasional visits are wonderful. Available time still appears short. It’d be great to see Kenneth more. Meanwhile, interim maintainer @gpatel-fr is doing lots of things and @Jojo-1000 is having a great start. There is still an abundant backlog of issues and pull requests to chip away at. Volunteers are still sought.