[infinispan-issues] [JBoss JIRA] (ISPN-7806) QueryInterceptor should not load entries from DC but context

Radim Vansa (JIRA) issues at jboss.org
Tue May 9 14:42:00 EDT 2017


     [ https://issues.jboss.org/browse/ISPN-7806?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Radim Vansa updated ISPN-7806:
------------------------------
    Description: 
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.

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.

  was:
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 and CacheLoaderInterceptor (before xDistributionInterceptor), 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.

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.



> QueryInterceptor should not load entries from DC but context
> ------------------------------------------------------------
>
>                 Key: ISPN-7806
>                 URL: https://issues.jboss.org/browse/ISPN-7806
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Embedded Querying
>    Affects Versions: 9.0.0.Final
>            Reporter: Radim Vansa
>            Assignee: Adrian Nistor
>
> 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.
> 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.



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the infinispan-issues mailing list