[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