Skip to content

Cache: CacheError hides its reason, and a full cache fails every call #2229

Description

@RhysSullivan

Follow-up from #2146. The cache-key problem there is fixed in 2.0.0-beta.5, but two points from that report are still open.

1. CacheError doesn't show its reason

CacheError carries a reason (unavailable, storage, invalid, capacity, timeout), but no message. When it reaches the user as AppEvaluationFailed, they see "The app threw CacheError: CacheError was thrown without a message", and the reason isn't visible.

Expected: the error message includes the reason, for example CacheError: capacity.

2. A full cache fails every call

When an app's cache passes totalBytes (128 MB) or totalEntries (100,000), every write fails with CacheError { reason: "capacity" }. The app then fails every call until retention (7 days) clears old entries.

Expected: a full cache evicts the oldest entries, or the app keeps running without the cache, instead of failing every call.

Sent from my Claude

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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