Bug 1118204 - Infinispan Query - Concurrency problem with WeakIdentityHashMap in FullTextIndexEventListener
Summary: Infinispan Query - Concurrency problem with WeakIdentityHashMap in FullTextIn...
Keywords:
Status: ASSIGNED
Alias: None
Product: JBoss Data Grid 6
Classification: JBoss
Component: Infinispan
Version: 6.3.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: 6.4.0
Assignee: Sanne Grinovero
QA Contact: Martin Gencur
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-07-10 08:15 UTC by Martin Gencur
Modified: 2019-03-22 07:15 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Known Issue
Doc Text:
In Red Hat JBoss Data Grid, when using put/remove operations via Hot Rod, some objects are not be indexed if the system is heavily loaded. These objects are not returned by Remote Query or based on their previous state. This also affects embedded querying when the cache is not transactional. This bug may also cause loss of update and delete operations, so while it's true that subsequent queries might miss results of newly inserted objects, they might also contain results which aren't supposed to be returned. The problem on missed delete operations only affects usage of projection, as when the user asks to return the object from the grid we remove the missing ones from the results. This is a known issue in JBoss Data Grid 6.4 Beta. The workaround is to mark the cache transactional, regardless of the cache being accessed over Hot Rod (note that then every single operation is enclosed in a transaction) or locally as an embedded cache.
Clone Of:
Environment:
Last Closed:
Type: Bug


Attachments (Terms of Use)

Description Martin Gencur 2014-07-10 08:15:28 UTC
Related community bug at https://hibernate.atlassian.net/browse/HSEARCH-1623

When using put/remove via HotRod, some objects might not be indexed if the system  is under heavy load. These object will not be returned by Remote Query or returned based on their previous state.
This also affects embedded querying when the cache is NOT transactional.

The workaround is to mark the cache transactional, regardless of the cache being accessed over HotRod (note that then every single operation is enclosed in a transaction) or locally as an embedded cache.

Comment 2 Sanne Grinovero 2014-07-10 08:37:25 UTC
Thanks Martin.
to add a clarification:

It also affects loss of update and delete operations, so while it's true that subsequent queries might miss results of newly inserted objects, they might also contain results which aren't supposed to be returned.
The problem on missed delete operations only affects usage of projection, as when the user asks to return the object from the grid we remove the missing ones from the results.

Another possible workaround is the rebuild the index periodically, assuming it's acceptable to have some period of time in which the index could be inconsistent with the data: in many full-text search related use cases (human queries) that's usually acceptable. Probably not acceptable if this is the query strategy used for a system or record.

Comment 3 Fedor Gavrilov 2014-08-12 09:34:14 UTC
I've attached a link to customer portal's casew where customer also wants this to be backported to the next EAP release.
Could this backport be considered for the next release?
Thanks.

Comment 4 Sanne Grinovero 2014-08-12 16:29:35 UTC
Fedor, did you mean WFK release?
EAP doesn't include this component.

Comment 5 Sanne Grinovero 2014-08-13 13:02:26 UTC
(In reply to Fedor Gavrilov from comment #3)
> I've attached a link to customer portal's casew where customer also wants
> this to be backported to the next EAP release.
> Could this backport be considered for the next release?
> Thanks.

Fedor the customer case you attached this to is a problem with WFK on EAP, but this bugzilla is for JDG. Could you please create a different bugzilla to track this for the next WFK?
thanks in advance

Comment 6 Marek Novotny 2014-08-15 07:48:34 UTC
(In reply to Sanne Grinovero from comment #5)
> (In reply to Fedor Gavrilov from comment #3)
> > I've attached a link to customer portal's casew where customer also wants
> > this to be backported to the next EAP release.
> > Could this backport be considered for the next release?
> > Thanks.
> 
> Fedor the customer case you attached this to is a problem with WFK on EAP,
> but this bugzilla is for JDG. Could you please create a different bugzilla
> to track this for the next WFK?
> thanks in advance

please use https://issues.jboss.org/browse/WFK2 JIRA instead of Bugzilla

Comment 7 Fedor Gavrilov 2014-08-19 12:20:27 UTC
Sanne, Marek, sure, thanks for the explanation!
I will copy this to JIRA.

Comment 8 Sanne Grinovero 2014-11-10 09:15:01 UTC
Hi all,
I think we'll solve the problem for JDG 6.4 so there should be no need to add this limitation in the release notes for version 6.4 (if any we might want to make sure it gets removed).

Comment 9 Misha H. Ali 2014-11-10 09:20:34 UTC
Removing the requires_doc_text flag is all that is needed. This is now excluded from the release notes unless the flag is added again (possibly as a resolved issue in the future). :)


Note You need to log in before you can comment on or make changes to this bug.