Opened at 2022-08-15T18:41:28Z
Closed at 2022-09-19T14:25:03Z
#3915 closed defect (fixed)
Size passed to IStorageServer.allocate_bytes is bigger than actual share size
Reported by: | itamarst | Owned by: | GitHub <noreply@…> |
---|---|---|---|
Priority: | normal | Milestone: | HTTP Storage Protocol |
Component: | unknown | Version: | n/a |
Keywords: | Cc: | ||
Launchpad Bug: |
Description
immutable/layout.py calculates share size using the _maximum_ possible URI extension size. The actual share has a specific, typically smaller URI extension size (as generated in immutable/encode.py). So IBucketWriter.close() is called after sending fewer bytes than were claimed in allocate_buckets().
For Foolscap this works, however ugly it is. For current HTTP storage protocol, this does not.
Instead of fixing the HTTP protocol to have a notion of "closing early", seems better to just fix the size calculation so it uses the actual size of the URI extension.
Note that there may be additional sources of discrepancy :(
Change History (1)
comment:1 Changed at 2022-09-19T14:25:03Z by GitHub <noreply@…>
- Owner set to GitHub <noreply@…>
- Resolution set to fixed
- Status changed from new to closed
In 508dda1/trunk: