- 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()