-
Bug
-
Resolution: Done
-
Major
-
9.3.6.Final, 9.4.17.Final, 10.0.1.Final, 10.1.0.Final
-
None
-
DataGrid Sprint #38, DataGrid Sprint #39
CacheLoaderInterceptor.visitInvalidateCommand() loads the previous value from the store, just in case there is a CacheEntryInvalidated listener that needs the previous value. This makes invalidation mode with a shared store very costly: for every write, every node receives an invalidation command, every node reads the value from the store, and then discards it.
But InvalidateCommand only removes entries from memory, it never removes entry from stores (either shared or private). If we don't load the previous value in the data container, there is nothing for the InvalidateCommand to do. No invalidated entry means no listener notifications, so we don't need to load the previous value or to change the behaviour of CacheEntryInvalidatedEvent.
- blocks
-
JBEAP-18841 Upgrade Infinispan to 9.4.18.Final
- Closed
-
WFLY-12926 Upgrade Infinispan to 9.4.18.Final
- Closed
- is incorporated by
-
JBEAP-18403 [GSS](7.2.z) ISPN-11116 - Invalidation commands should not load the previous value from the store
- Closed
-
JBEAP-18408 [GSS](7.3.z) ISPN-11116 - Invalidation commands should not load the previous value from the store
- Closed
- is related to
-
ISPN-11117 In a distributed cache stale entries are not removed from the store
- Closed
- relates to
-
ISPN-11119 Invalidation put should load previous value from stores
- Closed