Better check for finished, hopefully avoid errors.
Write a SHA256 hash of the metadata. It's way too big for a CRC to make sense.
Cross-segments don't finish (except if they succeed or are cancelled). We can succeed/fail/free as long as they are not actually decoding right now.
Logging
Fix failure
Explain what these are for (now).
Don't setHasCheckedStore and thus write to disk if we're failing anyway.
Write to disk in-thread, simplify especially in case of failure (DNF with DSOnly=true e.g.)
Make sure we fail with the right error code.
Check for cross-segments
Better handling for DSOnly failure
Fix failing in finishedEncoding (this is mainly for DSOnly failures).
Distinguish between failed and run out of retries (for cross-segment failure).
Implement a fixed maximum error code for fetch/insert exceptions.
Persistence for FailureCodeTracker
Logging
Remove unused methods.
Persist the FailureCodeTracker
Write errors when changed.
Fix unlikely NPE