Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-6802

Micro-optimizations for read operations

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Done
    • Icon: Major Major
    • 9.0.0.Final
    • 9.0.0.Final
    • Core
    • None

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

              dberinde@redhat.com Dan Berindei (Inactive)
              dberinde@redhat.com Dan Berindei (Inactive)
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: