Issues
- Sentinel keyword checks using = may cause unnecessary realizationCCACHE-66Michael Fogus
- Multi-threaded cache stampede in core.cacheCCACHE-65Sean Corfield
- Minor mistake in LRU cache docsCCACHE-64Resolved issue: CCACHE-64Sean Corfield
- Improve LRU and LU initialization and fix LU miss logic when not fullCCACHE-63Resolved issue: CCACHE-63Michael Fogus
- currentTimeMillis is not monotonicCCACHE-62Sean Corfield
- Fix a few doc string typosCCACHE-61Resolved issue: CCACHE-61Sean Corfield
- Bump version number to 1.0.0CCACHE-60Resolved issue: CCACHE-60Sean Corfield
- Documentation: it is not clear how the seed relates to the cache policyCCACHE-58Resolved issue: CCACHE-58Sean Corfield
- Improper swap! arguments in clojure.core.cache.wrapped/missCCACHE-57Resolved issue: CCACHE-57
- wrapped TTL can return nil from lookup-or-missCCACHE-56Resolved issue: CCACHE-56Sean Corfield
- Split protocols from implementationsCCACHE-55Sean Corfield
- TTL Cache sometimes returns nilCCACHE-54Resolved issue: CCACHE-54Sean Corfield
- Unnecessary get during SoftCache lookupCCACHE-53Resolved issue: CCACHE-53Sean Corfield
- SoftCache can cause an NPE if reference has been queued before evictionCCACHE-52Resolved issue: CCACHE-52Sean Corfield
- Stats for cacheCCACHE-51Sean Corfield
- Suggested usage subject to Cache StampedeCCACHE-50Resolved issue: CCACHE-50Sean Corfield
- TTL cache seed function is brokenCCACHE-49Resolved issue: CCACHE-49Sean Corfield
- Composition of TTLCache can lead to inconsistent cache lookupsCCACHE-48Resolved issue: CCACHE-48Sean Corfield
- Can't evict on LIRS cacheCCACHE-47Resolved issue: CCACHE-47Sean Corfield
- TTL cache's has? doesn't check existence of value in the underlying cacheCCACHE-46Resolved issue: CCACHE-46Sean Corfield
- Spelling mistakeCCACHE-45Resolved issue: CCACHE-45Fogus
- Avoid equals for object comparison with the missing default keyword lastCCACHE-44Resolved issue: CCACHE-44Fogus
- through method should always have cache as first argument to make it more friendly for swap!CCACHE-43Resolved issue: CCACHE-43Sean Corfield
- Porting core.cache to ClojureScriptCCACHE-42Resolved issue: CCACHE-42Sean Corfield
- defcache needs to impl. iterator() to avoid Clojure 1.7 breakageCCACHE-41Resolved issue: CCACHE-41Fogus
- FIFOCache StackOverflowError with high :threshold due to concatCCACHE-40Resolved issue: CCACHE-40Sean Corfield
- FIFOCache member exempted from expulsion after evictCCACHE-39Resolved issue: CCACHE-39Sean Corfield
- Add ARC or CAR algorithmCCACHE-38Sean Corfield
- Doc string typo fixCCACHE-37Resolved issue: CCACHE-37Fogus
- Allow ttl to be set for a key on cache missCCACHE-36Resolved issue: CCACHE-36Sean Corfield
- Add weak-cacheCCACHE-35Sean Corfield
- Update data.priority-map dependencyCCACHE-34Resolved issue: CCACHE-34Fogus
- Some tests have ordering dependent upon Clojure hash functionCCACHE-33Resolved issue: CCACHE-33Fogus
- LIRSCache defect allows it's memory use to grow without boundCCACHE-32Sean Corfield
- SoftCaches update in-place, other cache types don'tCCACHE-31Resolved issue: CCACHE-31Sean Corfield
- make-reference need not be dynamicCCACHE-30Resolved issue: CCACHE-30Fogus
- Is IPersistentCollection definition of cons correct?CCACHE-29Resolved issue: CCACHE-29Fogus
- SoftCache NullPointerException in has? with many threadsCCACHE-28Resolved issue: CCACHE-28Fogus
- Missing LU and LRU is linear complexity - performanceCCACHE-27Resolved issue: CCACHE-27Fogus
- hit function in LRU cache can give funny resultsCCACHE-26Resolved issue: CCACHE-26Fogus
- TTLCache appears to have inconsistent behavior with respect to the TTL parameterCCACHE-25Resolved issue: CCACHE-25Fogus
- Numerous Reflective Calls in core.cacheCCACHE-24Resolved issue: CCACHE-24Fogus
- Overwriting entries in LRU-cache deletes LRU key-values unnecessarilyCCACHE-23Resolved issue: CCACHE-23Fogus
- Change limit parameter name in TTLCacheCCACHE-22Resolved issue: CCACHE-22Fogus
- LRU and LU caches never evict entries that came in as a seed and are never accessedCCACHE-21Resolved issue: CCACHE-21Fogus
- Add some examples to github pageCCACHE-20Resolved issue: CCACHE-20Sean Corfield
- Create 3-arg version of lookupCCACHE-19Resolved issue: CCACHE-19Fogus
- Explore JSR 107- Java Temporary Caching APICCACHE-18Resolved issue: CCACHE-18Sean Corfield
- Create function backed cacheCCACHE-17Sean Corfield
- Benchmark v0.5.x against Google GuavaCCACHE-16Sean Corfield
50 of 65
Sentinel keyword checks using = may cause unnecessary realization
Description
Environment
None
Details
Assignee
Michael FogusMichael FogusReporter
Michael FogusMichael FogusApproval
VettedPriority
Critical
Details
Details
Assignee
Michael Fogus
Michael FogusReporter
Michael Fogus
Michael FogusApproval
Vetted
Priority
Created March 3, 2023 at 5:37 PM
Updated March 3, 2023 at 7:02 PM
Activity
Show:
per
The expression
(= ::expired v)
inclojure.core.cache.wrapped/lookup-or-miss
.What happens is that
=
internally callsclojure.lang.Util/equiv
(sinceLazyMap
implementsIPersistentCollection
) and then, after some dispatching,equiv
is called to check whether the contents of a lazy map equals to other object (implicitly other map). This is the desired behavior and lazy map realizes all values to make comparison possible.