Skip to content
… when eviction or passivation is involved

* CacheLoaderInterceptor does not properly handle ApplyDeltaCommand; it should call loadIfNeeded() to ensure data is properly fetched from loader if it was evicted from data container. The loaded entry must be wrapped using EntryFactory.wrapEntryForDelta() instead of wrapEntryForPut().
* CacheStoreInterceptor.StoreModificationsBuilder must visit ApplyDeltaCommands and ensure special handling for DeltaAwareCacheEntry to store the yet uncommmited changes rather than the value because the context entries are not yet committed at this point due to the order of interceptors.
* EntryFactoryImpl.wrapInternalCacheEntryForDelta must ensure the created DeltaAwareCacheEntry wraps a mutable context entry rather than an immutable internal entry that does not do anything on commit().
* DeltaAwareCacheEntry must merge the deltas and mark the wrapped entry as changed BEFORE asking the wrapped entry to commit.


Something went wrong with that request. Please try again.