Skip to content

Release hold: files.json 500 blocks v0.8.0 stable #589

Description

@jeremy

Tracking issue for the server-side defects found while soaking v0.8.0-rc.1 against a ~80-project production account.

One blocker remains: basecamp/bc3#12459. The boost item below is closed out — the endpoint is being removed rather than fixed.

  • basecamp/bc3#12459files.json returns 500 on any page containing an attachment whose parent is an autolinked image (bucket_autolinked_image_url route helper does not exist). Blocks files list --all-projects.
  • ~~basecamp/bc3#12458boosts.json spends ~44s in MySQL on every page.~~ Resolved for the CLI by removing the caller. The aggregate turned out to be an easter egg, unlinked from the web UI, and is being withdrawn server-side; PR Bound the account-wide listings, and drop the boost aggregate #590 drops boost list --all-projects rather than paging around pathological database performance. No longer a release blocker.

Why the CLI-side fix does not cover these

The account-wide pagination rework replaced the full-account crawl with a bounded walk over positive pages, which fixed the listings that were merely slow:

Command rc.1 after
cards list --all-projects --status completed timeout at 94s 24.9s, 1 request
checkins answers --all-projects timeout 1.5s, 4 requests
cards list --limit 3 16s (fetched all 2142, then trimmed) 1.2s, 1 request
forwards list --all-projects 1.6s, 4 requests
comments list --all-projects 2.1s, 4 requests
messages list --all-projects 2.6s, 4 requests

No default or --limit request omits page= any more, so nothing asks the server for a whole-account crawl unless it was asked to. --all still omits it deliberately — that is the spelling for the full traversal.

It does not help the two above:

  • files — GearedPagination ramps page sizes (15, 30, 50, …), so the bounded default of 100 items spans pages 1–4 and lands on exactly the page that 500s. A smaller default would dodge it only by accident, on this account, today.
  • boost — the cost was per-page and flat (page 1 ≈ page 40), so no pagination strategy reduced it. Resolved by withdrawing the endpoint and the CLI command that called it.

Disposition

The release is held until BC3 ships the fix for #12459. Re-run the soak against account 2914079 afterwards and confirm files list --all-projects returns rows before cutting rc.2.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions