Skip to content

fix: max blob size and other encryption tests - #118

Merged
alanshaw merged 6 commits into
mainfrom
ash/fix/max-blob-size-and-other-tests
Sep 10, 2026
Merged

alanshaw merged 6 commits into
mainfrom
ash/fix/max-blob-size-and-other-tests

Conversation

@alanshaw

@alanshaw alanshaw commented Sep 1, 2026 •

Copy link
Copy Markdown
Member

Copilot AI lite review requested due to automatic review settings September 1, 2026 15:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The new patternReader.Read implementation in itest/stack_test.go uses an int64 slice index and will not compile.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds/extends integration coverage around encryption behavior and large-object limits, and adjusts max_blob_size defaults/validation so encrypted envelopes remain shippable to piri under its piece cap.

Changes:

  • Add new forge-mode encryption integration suite (TestForgeEncryption) and a gated 5 GiB max-part test, plus supporting harness utilities.
  • Update default blob sizing to account for encryption envelope overhead; add config validation and unit tests to fail fast on unshippable max_blob_size values.
  • Update docs and CI itest job settings (timeouts/disk space) to accommodate the new big-part coverage.
File summaries
File Description
itest/stack_test.go Adds spool inspection/tamper helpers, pattern streaming reader, and a no-timeout S3 client for very large uploads
itest/README.md Documents new encryption/max-part itest coverage and gating
itest/forge_encryption_test.go New encryption and large-part integration tests (incl. tamper rejection and delete release verification)
itest/forge_delete_test.go Removes duplicated waitForPiriLog helper now centralized in stack harness
config/config.go Validates max_blob_size against encrypted-envelope size vs network ceiling
config/config_test.go Adds regression test for max_blob_size validation behavior
bucket/chunker.go Changes DefaultMaxBlobSize derivation to reserve encryption envelope allowance under piri’s cap
bucket/chunker_test.go Pins envelope-fit derivation with a unit test
blockstore/store.go Updates comments to reflect ~254 MiB default sizing
blockstore/spool.go Updates comments to reflect ~254 MiB default sizing
docs/architecture.md Updates architecture doc to reflect the corrected piece cap and default sizing rationale
.github/workflows/go-test.yml Increases itest timeouts, frees runner disk, and enables the gated big itest in CI
go.mod Bumps fil-forge/libforge dependency (per PR dependency note)
go.sum Updates checksums for the bumped fil-forge/libforge version
Review details
  • Files reviewed: 13/14 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread itest/stack_test.go
Comment thread config/config.go
@alanshaw
alanshaw force-pushed the ash/fix/max-blob-size-and-other-tests branch from 6cfd259 to a0bd51a Compare September 9, 2026 16:53
@alanshaw
alanshaw force-pushed the ash/fix/max-blob-size-and-other-tests branch from a0bd51a to ec8df74 Compare September 9, 2026 17:05
@alanshaw
alanshaw merged commit f12503e into main Sep 10, 2026
11 checks passed
@alanshaw
alanshaw deleted the ash/fix/max-blob-size-and-other-tests branch September 10, 2026 13:07
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

Successfully merging this pull request may close these issues.

2 participants