[ 
https://issues.apache.org/jira/browse/LUCENE-7810?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16008212#comment-16008212
 ] 

Martijn van Groningen commented on LUCENE-7810:
-----------------------------------------------

Good catch [~hossman]! If nobody is working on this then I can fix this bug. So 
far only the {{TermsQuery}} seems to not take into account the join field.

bq. you mean the from query, correct?

I think this is what [~jpountz] means, because equality checking the collected 
terms would be too expensive. 

I think the {{TermsIncludingScoreQuery}}, {{TermsQuery}}, 
{{PointInSetIncludingScoreQuery}} and {{PointInSetQuery}} should also take 
index reader context id into like the {{GlobalOrdinalsQuery}} is doing. 
Otherwise the fromQuery + join field key can still be invalid. (mainly when 
docs on the from side added) 

> 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
>         Attachments: 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to