sentriz / gonic

music streaming server / free-software subsonic server API implementation
ircs://irc.libera.chat/#gonic
GNU General Public License v3.0
1.5k stars 105 forks source link

Handling transient network filesystem issues #386

Open tazjin opened 9 months ago

tazjin commented 9 months ago

gonic version: v0.15.2


Hey! Thanks for making gonic, it's pretty great! I've started reorganising my music library recently (after the Bandcamp announcement ...), and gonic really hits the spot for what I want.

My setup is a bit odd: I have my music library (O(1000s) of tracks) in an S3-compatible storage bucket, which is mounted on my machines through geesefs. With disk caching etc. this works pretty well, even with large FLAC files.

I've seen one issue though which is a bit tricky to reproduce: In case of transient network issues, or problems with geesefs, IO errors will be returned to gonic during scans. I've gotten the impression that sometimes this is treated akin to a file deletion, i.e. the track(s) are removed from the library, and reappear later when the IO issues are fixed (with different IDs, probably).

I'm not sure what the intended behaviour here is, but I think I'd prefer if IO errors were always treated as transient and didn't lead to file removal.

I plan to debug this further (it's possible that it only happens during full scans, I'm not sure yet), just wanted to leave an issue here in case anyone has run into something like this and investigated already.