-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Roadmap
Ben Manes edited this page Jun 13, 2015
·
135 revisions
Development notes for pending tasks.
A major revision that includes API incompatible changes.
- RemovalListener
- Use friendlier typed lambda syntax to chain as
(k, v, cause) -> ... - RemovalNotification retained as helper, but not used in the API
- Use friendlier typed lambda syntax to chain as
- AsyncLocalCache
- Consider extending Cache<K, CompletableFuture<V>> interface
- Cache: Conflict on get(k, k -> v) with get(k, k -> future)
- LoadingCache: Conflicts on getAll returning future<map> vs map<k, future>
- Add asMap() view of key -> futures
- Consider extending Cache<K, CompletableFuture<V>> interface
- Tracing
- Remove deprecated methods
- Use snake case for system properties (consistency with Typesafe Config library)
- Add CacheWriter
- Simplifies support for write-through / write-behind caching, e.g. layered caches
- Executed synchronously within atomic block that writes/deletes the cache entry
- 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 causes the current time to be read for no-op calls, e.g. disabled expiration
- On some operating systems this can significantly degrade performance (Mac, Windows)
- Reduce excessive padding
- Currently copy-and-pasted for quick development
- Uses 128-byte padding to protect from adjacent fields
- Rename SerializationAwareCopyStrategy to JavaSerializationCopyStrategy
- 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?
- Collections
- Simulator
- Add weight and expiration support
- Advanced eviction policies

