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

Micro-optimizations for read operations

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 9.0.0.Alpha2
    • Fix Version/s: 9.0.0.Beta2
    • Component/s: Core
    • Labels:
      None

      Description

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

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              dberinde@redhat.com Dan Berindei
              Reporter:
              dberinde@redhat.com Dan Berindei
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: