[CCACHE-21] LRU and LU caches never evict entries that came in as a seed and are never accessed Created: 14/Mar/12 Updated: 14/Mar/12 Resolved: 14/Mar/12 |
|
| Status: | Resolved |
| Project: | core.cache |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Defect | Priority: | Major |
| Reporter: | Fogus | Assignee: | Fogus |
| Resolution: | Completed | Votes: | 0 |
| Labels: | bug, cache, lru, lu | ||
| Description |
|
If one initializes an LRU or LU cache with seed data and those datum are never touched, then they are never evicted. (def C (lru-cache-factory {:a 1, :b 2} :limit 2))
(-> C (assoc :c 3) (assoc :d 4) (assoc :e 5))
You would expect that the cache should contain only :d and :e, but it instead includes :a, :b, :d and :e! The problem is that seeds are never added to the eviction queue. |
| Comments |
| Comment by Fogus [ 14/Mar/12 8:15 AM ] |
|
Fixed in 5751b7e8d8d2f10c87b8a79c8ed9b0324368514d |