Skip to content
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

Too many non-fatal errors are treated as fatal #21

Open
tsudoko opened this issue Jan 8, 2020 · 0 comments
Open

Too many non-fatal errors are treated as fatal #21

tsudoko opened this issue Jan 8, 2020 · 0 comments

Comments

@tsudoko
Copy link
Owner

tsudoko commented Jan 8, 2020

Examples: #3, #7, #9, #10, #18, #20
There is a good reason for the current default behavior: skipping many of these errors would leave logs permanently incomplete. If you re-run pullcord, it continues downloading data from where it left off without checking if the already downloaded logs don't have gaps. This is in order to avoid re-requesting entire message history on each run, which would make incremental downloads extremely slow, and arguably, not very incremental.

The default behavior is perfectionist and tries to clone guild state as closely as possible, aborting if it can't save absolutely everything that can be saved1. As the above issues illustrate, this often leads to early failures and inability to download the rest of the guild at all.

One way of solving this could be marking some errors as non-fatal and adding a command line option that would skip those instead of aborting. It would be still useful to have them reported back here, though, as many of these errors indicate some kind of bug in pullcord. Not crashing could make people less likely to report bugs.

  1. Well, to be exact, this is no longer the case as of d6f3ad6 because that error can happen very often, but ideally we'd abort in that case as well.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant