[infinispan-issues] [JBoss JIRA] (ISPN-3795) QueryInterceptor incorrectly relies on the return value of a RemoveCommand

Sanne Grinovero (JIRA) issues at jboss.org
Mon May 15 17:31:00 EDT 2017


    [ https://issues.jboss.org/browse/ISPN-3795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13406589#comment-13406589 ] 

Sanne Grinovero commented on ISPN-3795:
---------------------------------------

{quote}[..] After that we add transparent batching to Hibernate Search SYNC backend, plus the async indexing backend, I reckon performance is vastly superior to do batch loading nowadays.{quote}

Yes that is a solved problem, but I wonder if we'd still be fetching values from somewhere, or attempting to fetch from somewhere - even if there's no data - and block on such rpcs such as loading from a remote node or from a DB.
Granted a "batch loading" is supposedly happening on an _empty_ data grid so there shouldn't be much of a payload to fetch for existing keys, but e.g. I remember before introducing SKIP_CACHESTORE even just looking into a cachestore for each value was a performance killer.

In short I'm not worried about the indexing performance but the other costs which are typically a good reason to enable _IGNORE_RETURN_VALUE_ . I guess I might be too paranoid: if I'm wrong and the core team sees no such costs anymore then I'm happy to simply remove this. Let's just not forget to perf test for this.

> QueryInterceptor incorrectly relies on the return value of a RemoveCommand
> --------------------------------------------------------------------------
>
>                 Key: ISPN-3795
>                 URL: https://issues.jboss.org/browse/ISPN-3795
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Embedded Querying
>    Affects Versions: 6.0.0.Final
>            Reporter: Dan Berindei
>            Assignee: Gustavo Fernandes
>
> QueryInterceptor uses the return value from RemoveCommand/ReplaceCommand to remove the value from the index.
> But both RemoveCommand and ReplaceCommand have a variant with an expected value parameter, and this variant return a boolean value instead of the removed/replaced value. In that case, the previous value won't be removed from the index.
> QueryInterceptor should probably use the previous value from the context entries to update the index instead.



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


More information about the infinispan-issues mailing list