-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Roadmap
Ben Manes edited this page Jul 12, 2015
·
135 revisions
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)
- Rename SerializationAwareCopyStrategy to JavaSerializationCopyStrategy
- 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
- Reduce excessive padding
- Currently copy-and-pasted for quick development
- Uses 128-byte padding to protect from adjacent fields
- Arena spacing vs padding (ConcurrentLinkedStack, SingleConsumerQueue)
- Benchmark spacing arena elements for better false sharing avoidance.
- Collections
- Simulator
- Add weight and expiration support
- Advanced eviction policies

