Skip to content

Roadmap

Ben Manes edited this page May 26, 2015 · 135 revisions

Development notes for pending tasks.

Version 2.0

  • RemovalListener
    • Use friendlier typed lambda syntax to chain as (k, v, cause) -> ...
      • Delete RemovalNotification from public API
  • AsyncLocalCache
    • Add asMap() view
  • Tracing
    • Remove deprecated methods
    • Use snake case for system properties (consistency with Typesafe Config library)

Code Review / Pending

  • Expired entries (eligible but not evicted)
    • Do all map methods screen and behave as if no entry exists?
    • Are the statistics recorded as a miss?
  • Reference collected values (eligible but not evicted)
    • Do all map methods screen and behave as if no entry exists?
    • Are the statistics recorded as a miss?
  • Removal listener notification
    • Is the listener notified after the operation completes?
    • Is the listener sent the correct notification?
  • JCache eviction listener ordering
    • Spec says that listeners must be notified in sequence of key operations
    • All implementations use asynchronous (unordered) notifications on eviction
    • Implement race handling to delay a events until the preceding evict is sent
  • Ticker should only be read from when needed
    • The ticker is enabled if either statistics, expiration, or refresh are enabled
    • This results in the current time being read for no-op calls, e.g. disabled expiration
    • On some operating systems this can significantly degrade performance due to contention

Future

Clone this wiki locally