We're updating the issue view to help you get more done. 

Composition of TTLCache can lead to inconsistent cache lookups

Description

If a TTL cache composes another cache, the presence of a key has to be checked both against the TTL list and the composed cache. Otherwise, the TTL cache could say that an item is still present (because the TTL has not yet expired), but the item is removed from the composed cache. In such a case, a user will get a true from has? but a nil from lookup (because the key is no longer present in the composed cache).

Environment

Any platform. Clojure v1.8; core.cache v0.6.5

Status

Assignee

Sean Corfield

Reporter

import

Labels

Approval

None

Patch

Code and Test

Priority

Major