-
Notifications
You must be signed in to change notification settings - Fork 44
Release sizes are sometimes wrong #217
Comments
I should note that I've only really noticed this on larger releases, eg those that are recorded at several hundred MB, but are really several GB. |
Size is calculated twice: when building the NZB (by taking the size of each rar/rarpiece) and then again during post-processing. The NZB-based size isn't accurate (because it's compressed and includes extras such as samples, pars, etc). The post-processed size goes into the release rars and gets the sizes from the rar headers, which should theoretically be correct. I haven't looked at the math in the rar size checking in a long time and it's probably missing some edge cases, but that's where you should look: |
Thanks for that.
I'm not sure what the real impact of that note is. |
Me either. That was a library written by someone (author's probably at the top) that I used because it was the only pure-python RAR implementation that would correctly read the headers from an incomplete RAR file. Most others (including the standard RAR library) would simply fail when it didn't have the full file. That said, I definitely do have releases with a post-processed size over 2gb, so it can't make too much difference.. |
Yep, found it here: No updates or additional comments since the version committed in pynab, could be a red-herring. |
Looks like there's a problem in the rar library decoding some rars.
Whereas dumping similar data using the library:
ie. None of the content data is properly parsed. |
Found it, there's a bug in the rar library handling releases greater than 4GB in size. |
Nice catch! |
Whilst the fix is testing on my production instance, it raises a few questions:
|
|
On Wed, 2015-10-07 at 22:24 -0700, James Meneghello wrote:
Yeah, that's quite possible.
I've submitted the pull request. |
Fix #217, large releases have wrong sizes.
I'll include the correction of old releases with the next alembic upgrade, which I suspect will deal with TVRage (whatever happens with that). |
In quite a few releases on my installation, the size in the database does not match the size in the nzb.
I'm not sure why.
I've had quite a few releases report ~700MB, but actually turn out to be 10GB+ releases.
If I zero the size in the release table, then run 'fill_sizes_from_nzb.py' it gets the right size.
I haven't traced through the code to work out how the size is initially populated, but it doesn't seem to come from the nzb.
If you could tell me where to start looking, I might get some time to dig around.
The text was updated successfully, but these errors were encountered: