]
Vladimir Blagojevic updated ISPN-6802:
--------------------------------------
Fix Version/s: 9.0.0.Alpha4
(was: 9.0.0.Alpha3)
Micro-optimizations for read operations
---------------------------------------
Key: ISPN-6802
URL:
https://issues.jboss.org/browse/ISPN-6802
Project: Infinispan
Issue Type: Task
Components: Core
Affects Versions: 9.0.0.Alpha2
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 9.0.0.Alpha4
* L1 entries are written to the data container by L1TxInterceptor/L1NonTxInterceptor
directly, so there is no reason to commit the context entries in EntryWrappingInterceptor
or to clear the locks in the locking interceptors.
* ClearCommands can no longer be wrapped in PrepareCommands, so we can stop the state
transfer in {{EntryWrappingInterceptor.visitClearCommand()}} instead of checking the type
for each command.
* In transactional caches, a read operation without an explicit transaction triggers two
queries for the current transaction to the transaction manager, which usually means 2
thread-local lookups.
* IsMarshallerInterceptor shouldn't do anything unless there is an asynchronous
store
* Transactional remote get commands use NonTxInvocationInterceptor instead of
SingleKeyNonTxInterceptor.
* Configuration attributes should be cached, as reading them requires accessing multiple
instances + a cast in Attribute.get()