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

Single cache operation generates two sequential synchronous calls to the indexing engine

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Done
    • Icon: Major Major
    • 7.0.0.CR1
    • 7.0.0.Beta1
    • Embedded Querying
    • None

      For a similar reason as explained in ISPN-4650, the method
      org.infinispan.query.backend.QueryInterceptor.processPutKeyValueCommand(PutKeyValueCommand, InvocationContext, Object, TransactionContext)
      is likely to invoke a removeFromIndexes first and then an updateIndexes.
      When using transactions, the transactionContext will enqueue both operations for execution in the same call to the backend, but when no transaction is in progress, this will generate two sequential and independent calls to the backend.

      When the backend happens to be the InfinispanIndexManager, this implies we're generating two sequential synchronous RPCs rather than bacthing the two operations in a single Update statement: the first call is completely redundant in most cases, and can be incorporated in the second call for all remaining edge cases.

              gfernand@redhat.com Gustavo Fernandes (Inactive)
              sgrinove Sanne Grinovero (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: