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

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

    XMLWordPrintable

Details

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

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: