Skip to content

fix: harden bounded bulk cold reads - #466

Merged
khaliqgant merged 17 commits into
feat/cold-mount-bulk-read-464from
feat/cold-mount-bulk-read-464-repair
Sep 6, 2026
Merged

fix: harden bounded bulk cold reads#466
khaliqgant merged 17 commits into
feat/cold-mount-bulk-read-464from
feat/cold-mount-bulk-read-464-repair

Conversation

@khaliqgant

@khaliqgant khaliqgant commented Sep 5, 2026

Copy link
Copy Markdown
Member

Repairs review findings for #465 / #464.

  • inherited ACL checks happen before path probes
  • bulk response validates content/contentType presence and custom-client result counts
  • declared >32 MiB files use point reads
  • batches are bounded by exact marshaled JSON request size
  • streaming response reads refresh bootstrap watchdog progress
  • OpenAPI documents UTF-8 path, aggregate, and 64 KiB request constraints

Evidence: go test ./..., go test -race ./internal/mountsync ./internal/httpapi, go vet ./..., ./scripts/check-contract-surface.sh, git diff --check, and Daytona candidate qualification green.

Does not merge #465; merge remains operator-gated.

Review in cubic

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 5, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-06T00:10:46.750218Z abcc063 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 62ecf133-7ba0-4e4a-b414-ea1bf3940128

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Relayfile Eval Review

Run: .relayfile/evals/runs/2026-09-06T00-07-42-148Z-HEAD-provider
Mode: provider
Git SHA: b067787

Passed: 4 | Needs human: 0 | Reviewable: 0 | Missing output: 0 | Failed: 0 | Skipped: 0

Human Review Cases

No reviewable human-review cases captured Relayfile output.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

if isBulkReadUnsupported(err) {
s.bulkReadUnsupported.Store(true)
return s.readBootstrapFilesIndividually(ctx, jobs, prog)

P2 Badge Reuse oversized point reads during compatibility fallback

On a mixed bootstrap page containing both a declared-over-32-MiB file and a smaller file, an older server returning 501 bulk_read_unsupported reaches this branch only after the oversized pointJobs have already been downloaded. Falling back with the complete jobs slice downloads those large files a second time, potentially doubling substantial bootstrap bandwidth and latency; retain the completed point results and point-read only bulkJobs here.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread internal/httpapi/server.go Outdated
@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

All reported issues were addressed

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread internal/mountsync/syncer.go
Comment thread internal/httpapi/server.go Outdated
Comment thread internal/mountsync/syncer.go Outdated
Comment thread internal/httpapi/server.go Outdated
@khaliqgant

Copy link
Copy Markdown
Member Author

Fresh review fix pushed as 163852a: 501 compatibility fallback now preserves completed oversized point reads and only point-reads current/unprocessed bulk jobs. Focused tests pass. Fresh Daytona baseline/candidate rerun is externally blocked before sandbox creation: org inventory reports 304 total CPUs against 250 maximum; no ambient sandboxes touched. Prior candidate Daytona run (sandbox ee663af5-cd7d-43e2-a234-f7b5342dc67b) passed and proved cleanup.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 163852adc0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread internal/mountsync/syncer.go Outdated
Comment thread internal/mountsync/syncer.go Outdated
@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@khaliqgant

Copy link
Copy Markdown
Member Author

Follow-up review fixes pushed: 1197045 wraps watchdog progress before oversized point reads, includes target ACL in precheck, and reuses computed permissions. Focused Go tests pass. Fresh full suite rerun was blocked by host ENOSPC after Daytona artifact attempts; prior CI run was green on 163852a.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1197045b85

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread internal/mountsync/syncer.go Outdated
@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

1 similar comment
@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b40d03b11a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread internal/mountsync/syncer.go Outdated

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

All reported issues were addressed across 2 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread internal/mountsync/syncer.go Outdated
Comment thread internal/mountsync/syncer.go Outdated
@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@khaliqgant

Copy link
Copy Markdown
Member Author

@cubic-dev-ai review

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 5, 2026

Copy link
Copy Markdown

@cubic-dev-ai review

@khaliqgant I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

All reported issues were addressed across 2 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread internal/mountsync/bulk_read_test.go Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 653c4c427f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread internal/mountsync/syncer.go
@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@khaliqgant

Copy link
Copy Markdown
Member Author

@cubic-dev-ai review

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 5, 2026

Copy link
Copy Markdown

@cubic-dev-ai review

@khaliqgant I have started the AI code review. It will take a few minutes to complete.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f42bb4fbbb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread internal/mountsync/syncer.go
@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@khaliqgant

Copy link
Copy Markdown
Member Author

@cubic-dev-ai review

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 5, 2026

Copy link
Copy Markdown

@cubic-dev-ai review

@khaliqgant I have started the AI code review. It will take a few minutes to complete.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Can't wait for the next one!

Reviewed commit: 0b80548576

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

No issues found across 6 files

Re-trigger cubic

@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@khaliqgant

Copy link
Copy Markdown
Member Author

@cubic-dev-ai review

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 5, 2026

Copy link
Copy Markdown

@cubic-dev-ai review

@khaliqgant I have started the AI code review. It will take a few minutes to complete.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 14b127cb19

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread internal/mountsync/syncer.go

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

All reported issues were addressed across 2 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread internal/mountsync/syncer.go

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

All reported issues were addressed across 6 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread internal/mountsync/syncer.go
Comment thread internal/mountsync/syncer.go
Comment thread internal/mountsync/syncer.go
@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@khaliqgant

Copy link
Copy Markdown
Member Author

@cubic-dev-ai review

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 6, 2026

Copy link
Copy Markdown

@cubic-dev-ai review

@khaliqgant I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

All reported issues were addressed across 3 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread internal/mountsync/http_client_test.go
@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@khaliqgant

Copy link
Copy Markdown
Member Author

@cubic-dev-ai review

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 6, 2026

Copy link
Copy Markdown

@cubic-dev-ai review

@khaliqgant I have started the AI code review. It will take a few minutes to complete.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Chef's kiss.

Reviewed commit: abcc0632df

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

No issues found across 6 files

Re-trigger cubic

@khaliqgant

Copy link
Copy Markdown
Member Author

Final exact-head evidence: Relayfile 0b80548 and Cloud PR #186 49529fa5bbc33a819826dd356cd08133e84ed908 were validated locally. Relayfile full Go tests, focused/race mountsync tests, HTTP ACL regression, contract, and diff checks passed. Cloud tests passed: 58 files / 1052 tests, typecheck, and 6 targeted ACL target/ancestor tests. Clean Workerd candidate qualification was GREEN for 851 files / 454 directories / 270532608 bytes (258 MiB), manifest SHA256 905968a14268ec5e8ec38ae1d6b24749e855cac035976a87a65ef43f6612a55a; standard/concurrent/retry/unsupported-path hashes verified and cleanupVerified=true. Fresh Daytona retry created no sandbox: provider rejected creation before allocation with exact Total CPU limit exceeded. Maximum allowed: 250. Generated name relayfile-cold-mount-qual-20260905T230008Z-27553 was verified Not Found afterward; no sandbox ID or unrelated resources were deleted.

@khaliqgant

Copy link
Copy Markdown
Member Author

Correction to the evidence note above: the exact current Relayfile PR #466 head is abcc063. All nine checks on that SHA are completed/success, including fresh Cubic; GraphQL reports 29 total review threads and zero unresolved.

@khaliqgant

Copy link
Copy Markdown
Member Author

Fresh exact-head Daytona qualification (Relayfile abcc063 + Cloud PR #186 49529fa5bbc33a819826dd356cd08133e84ed908) is GREEN. Sandbox 5e504b9a-e2c4-40a5-9032-76982c55eeaf (relayfile-cold-mount-qual-20260906T001802Z-92930) used mount linux-amd64 artifact SHA256 573a1595f7014d85e8e23bf3df214da0205dbd8cf31156f5bdfebef4d959f007 and cloud npm-pack SHA256 04a7e9365cda1b702fc22aac96012e24bb8df33b0d6844e7b1a812d5c68db1af. Fixture exactly 851 files / 454 directories / 270532608 bytes, manifest SHA256 905968a14268ec5e8ec38ae1d6b24749e855cac035976a87a65ef43f6612a55a. Initial standard: 32 requests (28 bulk, 0 point), all 3 mount hashes verified; wall 15780ms, CPU 7000ms. Suite: wall 150492ms, CPU 77000ms, peak RSS 1791627264 bytes. Injected 429/503/reset retries all succeeded with verified hashes; malformed response was expected-failure; 501 unsupported fallback succeeded with 851 point reads and verified hashes. Exact cleanup verified: daytona info returned Not Found for the ID, inventory (154 entries, no matching ID/name) had no target, and local build scratch cleanup was verified.

@khaliqgant
khaliqgant merged commit 3700360 into feat/cold-mount-bulk-read-464 Sep 6, 2026
11 checks passed
@khaliqgant
khaliqgant deleted the feat/cold-mount-bulk-read-464-repair branch September 6, 2026 00:23
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.

1 participant