Skip to content

The caching feature does not say that a value created for one request must never be cached #47

Closed

Description

@jwrosewell

What is missing

The caching feature says how a cache key is made from Evidence, but not that some results hold a value created for the one request that asked for it. A 51Did is one. The cloud service creates a new 51Did for every request, so two requests with identical Evidence receive different 51Dids, and a cache that stores the Cloud Request Engine's response hands the 51Did created for one request to the next request with the same Evidence.

The Rust SDK had this defect (51Degrees/51degrees-rust#74, fixed in 51Degrees/51degrees-rust#174), and the .NET pipeline has it when its results cache is on (51Degrees/51degrees-dotnet#8).

What is needed

Say that a cache MUST NOT store, or serve, a result that holds such a value, and how the Cloud Request Engine applies that to a response carrying a fodid member.

Activity

  1. self-assigned this
    on Oct 27, 2026
  2. added theissue type on Oct 27, 2026
  3. jwrosewell commented on Nov 13, 2026

    @jwrosewell
    ContributorAuthor

    Fixed on main (6570727, #134): caching.md line 144 says "A cache MUST NOT store a result that holds such a value, and MUST NOT serve one that it finds", with the 51Did case at lines 146 to 149.

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions