I have a setup that seems to be conflicting with the way Sonarr operates.
I download files on a remote server, and when they’re complete, they are automatically transferred to my home watch folder that Sonarr looks at to process the files. I have it set to hard link them.
Unfortunately, I found that since it’s a remote server, the transfers take a long time, and it tries to process the partially-completed transfers, and it totally craps out:
System.IO.IOException: File move incomplete, data loss may have occurred. [/mnt/shows/*/Season 7/.720p.HDTV.X264-UAV.mkv] was 313397248 bytes long instead of the expected 286044160.
At that point, it seems to delete the original (???) leaving me with nothing at all.
Does someone have any advice on how to solve this issue?
Use something like Web Drive or SSHFS to mount the remote share and let Sonarr transfer it, Sonarr doesn’t know that the transfer is in the middle, the log message is a check to make sure the full transfer of the file happened, but in this case since it gets the file size before the move then sees checks the file size of the copied file it sees them as different and warns about it.
are we talking about a CIFS/samba mount on linux? or some custom transfer your doing?
Edit: there is a known problem with large transfers with mono+CIFS, we tell mono to ‘move’ the file. which sometimes goes wrong. we’re actually not deleting the original, mono+CIFS does.
Best remedy is to simply use something else, NFS for example.
Edit2: Ignore me, this is a custom transfer issue. not mono+CIFS, the watch folder should never contain partial files. copy it to another directory first.