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

A simple GET operation during a transaction or batching creates the NonTxInvocationContext instead of the more efficient SingleKeyNonTxInvocationContext

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Done
    • Major
    • 5.1.0.FINAL
    • None
    • Core
    • None

    Description

      Doing a simple get, generates this stack:

      org.infinispan.CacheImpl.get(Object)
      org.infinispan.CacheImpl.get(Object, EnumSet<Flag>, ClassLoader)
      org.infinispan.CacheImpl.getInvocationContextForRead(Transaction, EnumSet<Flag>, ClassLoader, int) <-------------- int = 1
      org.infinispan.context.TransactionalInvocationContextContainer.createInvocationContext(boolean, int) <------------------ false, 1
      org.infinispan.context.TransactionalInvocationContextContainer.newNonTxInvocationContext(boolean) <------------------ true

      At this point the information of this being a simple get - hence operating on a single key - is lost, and we end up generating a NonTxInvocationContext, which initializes a HashMap in it's constructor and is generally more expensive to use.

      I'd like this use case to actually use org.infinispan.context.SingleKeyNonTxInvocationContext

      Attachments

        Activity

          People

            sgrinove Sanne Grinovero
            sgrinove Sanne Grinovero
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: