Skip to content

Add configurable serialized-payload limits with fail-open oversize behavior #36

Description

@lan17

Resolution

Closed as not planned. DialCache will not add a default or required serialized-payload ceiling.

Rationale

  • A universal ceiling would be an arbitrary cacheability policy. Existing applications may intentionally cache large values, and an upgrade must not silently turn those entries into sustained source fallbacks.
  • DialCache already observes the exact serialized byte size of every Redis write through the backend-neutral size observation, exposed as a Prometheus histogram or Datadog histogram/distribution when a metrics adapter is configured.
  • Applications own their value shapes, serializer, Redis capacity, and operational alerts. An application that needs a hard limit can enforce its own policy in a custom serializer; serializer failures already fail open without losing the fallback result.
  • Optional thresholded compression remains separately tracked in Add thresholded client-side compression for Redis payloads #60, but it is an optimization rather than a production prerequisite.

Accepted tradeoff

Observability is reactive, and compression cannot protect Redis from a very large incompressible value. That risk is explicitly application/deployment-owned rather than enforced by a new DialCache public policy.

No public API, cache key, Redis frame, Lua protocol, or runtime behavior changes are planned for this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions