You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Martijn van Groningen (JIRA)" <ji...@apache.org> on 2017/05/23 09:05:04 UTC

[jira] [Resolved] (LUCENE-7810) false positive equality: distinctly diff join queries return equals()==true

     [ https://issues.apache.org/jira/browse/LUCENE-7810?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martijn van Groningen resolved LUCENE-7810.
-------------------------------------------
       Resolution: Fixed
    Fix Version/s: 6.7
                   master (7.0)

> false positive equality: distinctly diff join queries return equals()==true
> ---------------------------------------------------------------------------
>
>                 Key: LUCENE-7810
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7810
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Hoss Man
>             Fix For: master (7.0), 6.7
>
>         Attachments: LUCENE_7810.patch, LUCENE_7810.patch, LUCENE-7810.patch
>
>
> While working on SOLR-10583 I was getting some odd test failures that seemed to suggest we were getting false cache hits for Join queries that should have been unique.
> tracing thorugh the code, the problem seems to be the way {{TermsQuery}} implements {{equals(Object)}}.  This class takes in the {{fromQuery}} (used to identify set of documents we "join from") and uses it in the equals calculation -- but the information about the join _field_ is never passed directly to {{TermsQuery}} and the BytesRefs that are passed in can't be compared efficiently (AFAICT), so 2 completely diff calls to {{JoinUtils.createJoinQuery(...)}} can result in Query objects that think they are {{equal()}} even when they most certainly are not.
> At a brief glance, it appears that similar bugs exist in {{TermsIncludingScoreQuery}} (and possibly {{GlobalOrdinalsWithScoreQuery}}, but i didn't look into that class at all)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org