Comments (6)
As discussed in the other issue the tag issues has already been resolved.
The recovered db issue not working as intended I think might be because we use a SQLite built-in key-value sort of store, PRAGMA
to set the schema version. Maybe that isn't recovered correctly with the .recover command 🤔
from autobrr.
I was able to workaround this by letting autobrr initialize a fresh clean DB and then loading the recovered SQL into that DB:
$ sqlite3 ./autobrr/config/autobrr.db .recover >"./autobrr/config/autobrr.sql.~repaired~"
$ mv -v --backup=numbered ./autobrr/config/autobrr.db ./autobrr/config/autobrr.db.~corrupt~
renamed './autobrr/config/autobrr.db' -> './autobrr/config/autobrr.db.~corrupt~'
+ docker compose start autobrr
[+] Running 1/1
✔ Container autobrr Started 0.2s
+ sleep 2
+ docker compose stop autobrr
[+] Stopping 1/1
✔ Container autobrr Stopped 0.2s
$ sqlite3 ./autobrr/config/autobrr.db <"./autobrr/config/autobrr.sql.~repaired~"
I'm still unclear on why loading the recovered SQL into an uninitialized DB results in the fatal DB migration error. There may still be a bug there. In the meantime, hopefully this will be helpful to other users. Maybe add it to the docs?
from autobrr.
Hi! Do you have any logs from before the fatal log? This was with an existing db correct? And you are running the latest
tag that for unknown reason was built with the RC release 🤔
from autobrr.
Hi! Do you have any logs from before the fatal log?
@zze0s No, I have no idea how long ago the corruption started, but I know it was at least long enough that no currently available logs cover it. Sorry.
This was with an existing db correct?
Yes.
And you are running the
latest
tag that for unknown reason was built with the RC release 🤔
That's copied from this project's README. I agree that part of the README should be updated. Unfortunately, I don't see any tag in this project's registry that would keep current with the latest final release. Something should be added to the build process to tag final releases with a separate tag. It should also probably tag major, and maybe even minor versions.
from autobrr.
@zze0s No, I have no idea how long ago the corruption started, but I know it was at least long enough that no currently available logs cover it. Sorry.
Alright, then it's hard to conclude anything. Are you storing the data on a NFS mount or similar? SQLite does not work well with that. I do not think it was anything with the update that broke it and instead suspect something with your environment.
That's copied from this project's README. I agree that part of the README should be updated. Unfortunately, I don't see any tag in this project's registry that would keep current with the latest final release. Something should be added to the build process to tag final releases with a separate tag. It should also probably tag major, and maybe even minor versions.
I don't see us changing from latest
in the README since that would require we update it with every release. latest
should generally be the latest tagged version but because of a misconfiguration in the Actions Workflow the RC1 release got tagged as latest
as well as v1.35.0-rc1
. We'll fix it so it does not happen again.
A lot of people are running auto-update tools with docker/containers and so far I have not heard of any DB corruption issues like yours with those that got it auto updated, so that's a relief.
We can keep this open for a couple more days but then I'll close it and only use as a reference, and update the docs with your recovery instructions.
from autobrr.
Alright, then it's hard to conclude anything. Are you storing the data on a NFS mount or similar?
FWIW, the original cause of the corruption may have been exhausted disk space. But this issue isn't about the cause of the corruptionm it's about autobrr choking on the recovered DB.
I don't see us changing from
latest
in the README since that would require we update it with every release.
Hehe, so why did you comment on my use of the latest
tag in your first reply then? ;-) Oh, I see, you were just noting that latest
pointed to a pre-release when it shouldn't. At any rate, depending on latest
is bad practice for both maintainers and users because of it's potential surprising behavior. Best practice is to explicitly push project-controlled tags that users can count on to contain final releases, but as you like. It's certainly not an issue I'm reporting or bringing up, just responding.
from autobrr.
Related Issues (20)
- Potential issues with .deb packages HOT 6
- [FEATURE REQ] Year field to support range that extends indefinitely in one direction HOT 1
- BLU RSS items have "0 bytes" size HOT 4
- [FEATURE REQ] Add bash support to autobrr docker image HOT 1
- Multiple external webhooks in filter: Do not return on first error HOT 4
- Greedy matching of PTP announce will break if additional vars are added following the existing announce format HOT 4
- [FEATURE REQ] Allow disabling authentication (where external auth methods like Authelia/Authentik are used) HOT 3
- [FEATURE REQ] Make torznab feed category information usable in filters HOT 1
- Error when converting from SQLite to PostgreSQL HOT 3
- Disabled download client is still getting new torrents
- filter categories, tags, groups etc should be case-insensitive, at least optionally. HOT 2
- [FEATURE REQ] Display user defined indexer names on dashboard and releases page
- Create Feature Requests in Discussions HOT 2
- [FEATURE REQ] Max downloads per X time interval HOT 1
- [FEATURE REQ] Display user defined indexer names on dashboard and releases page
- Can't log in HOT 2
- Could not connect to client Deluge: scan element 0: cannot convert from []uint8 into *int64 HOT 2
- Could not add torrent /tmp/autobrr-993211376 to client: Deluge: read tcp: i/o timeout
- Filter fails on AlphaRatio indexer: "line not matching expected regex pattern" HOT 2
- [FEATURE REQ] Reannounce Support for Deluge
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from autobrr.