-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
command output is not valid JSON: invalid character 'R' after top-level value #277
Comments
Hi, noticing you’re using a rclone backend — this looks like a real problem with the storage (e.g. probably not something Backrest can address). Looks like restic logged some warnings about locks (that should exist) not being found. Backrest is expected to fail the operation in this case. That you’re needing to run a check and repair frequently is pretty worrying, you may need to look at other storage options. |
Hi, |
Hey, agreed that this seems frustrating that it pops up now. Found a thread on the restic forum about issues with pcloud https://forum.restic.net/t/atomic-uploads-with-pcloud-rclone-webdav/4888 . It sounds like in the past it's been unstable -- not sure about the current state. My guess is that pcloud is eventually consistent storage (so as you say there are probably race conditions w.r.t. when a lock file is actually reported to exist by the read API). The eventual consistency combined with the fact that you have many plans configured means that Backrest is running a number of forget operations one after another -- this should be safe on consistent storage but may be a problem for pcloud through rclone (or perhaps it's just running frequently enough that rare race conditions with the locks are surfacing). Either way this sounds like the storage provider is violating some expectation of restic. From looking at the logs it does sound like the operations eventually succeed but Backrest is conservative; it expects the output of a command to purely be valid JSON. Any warning output is considered a failure for the operation and generates a notification which I think is the correct stance to take. What makes this alarming overall report alarming is that you report needing a |
Hello, thank you so much for digging into it. I’ll do more testing on my end for sure. If I don’t fix this, I have to go back to my duplicity scripts.. Ooof. In my setup of the 15 plans I was a bit lazy and entered „4am daily“ for most if not all of them. Potentially this may have aggravated issues with concurrency? I will put 5min between them and see what happens. |
I have now put a "sleep 60" into the HOOK triggered at "CONDITION_SNAPSHOT_START" for all 15+ plans. I need to observe it for a few more days. But looks good so far.. |
Great! Glad that's working for you -- I think the delay is probably a "safer" option than no-lock! I'm going to go ahead and mark this as resolved as it's specific to a storage provider rather than a Backrest issue :) |
I am running restic based on the latest docker image. Huge thanks, George, for launching a great project. It's very nice to be able to turn all these backup scripts into a more structured approach and use it via the GUI!
Situation: I moved all my backup plans to backrest. One computer running backrest on docker is executing ~15 plans and is linked on one backup repository. The latter is accessed via rclone on the pcloud storage system.
Bug: More of less each night one of the backup plans fails and prevents all others from executing. I can fix the situation with check / repair index / repair snapshots etc. But it comes back.
Based on the output below, it seems to be the case that the JSON output is not correct. Apparently, the unlock command throws an error and produces further text output and this may impact the JSON output too.
The text was updated successfully, but these errors were encountered: