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

QueryInterceptor should not load entries from DC but context

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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 9.2.0.Final
    • 9.0.0.Final
    • Embedded Querying
    • None

      Currently in visitPrepareCommand the query interceptor is loading data directly from data container. That's wrong - if the entry is passivated/evicted, the previous value is incorrect.

      As the data is not loaded (from DC/persistence) at current QI position, we should move QueryInterceptor after EntryWrappingInterceptor, CacheLoaderInterceptor and xDistributionInterceptor (which may load the data from remote node), and load the previous entry from context instead. The same approach should be taken for non-tx command, rather than relying on their return value.

      *EDIT*: we should not move it below xDistributionInterceptor because on backup owner (which may be write-owner but not a read-owner) we would retrieve the updated value (affected by the current command), not the previous one.

      There will still be issues if the command has SKIP_CACHE_LOAD flag: I suggest warning message if it doesn't have SKIP_INDEXING flag as well.

              gfernand@redhat.com Gustavo Fernandes (Inactive)
              rvansa1@redhat.com Radim Vansa (Inactive)
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: