#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:

Merge pull request #1211 from tahoe-lafs/3915-immutable-size

Match up allocated size of immutable and what actually gets written

Fixes ticket:3915

Note: See TracTickets for help on using tickets.