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

Tim Underwood commented on LUCENE-7674:
---------------------------------------

Thanks [~mkhludnev]!  Running CheckJoinIndex on my bad index (assuming I got my 
parentsFilter right) says:

{code}
java.lang.IllegalStateException: Parent doc 3324040 of segment 
_vfo(6.3.0):C28035360/10475131:delGen=86 is deleted but has a live child 
document 3323449
{code}

Running CheckJoinIndex on the optimized version of the index doesn't complain.

So... that leaves me wondering where the bug is.  I am frequently (via Solr) 
re-indexing parent/child documents that duplicate existing documents based on 
my unique key field but my understanding is that Solr should automatically 
delete the old parent and child documents for me.  Maybe thats a bad assumption.

It looks like maybe I'm running into one or more of these issues: SOLR-5211, 
SOLR-5772, SOLR-6096, SOLR-6596, SOLR-6700

Sounds like I should probably just make sure I explicitly delete any old 
parent/child documents that I'm replacing to be on the safe side.

> java.lang.IllegalStateException: Child query must not match same docs with 
> parent filter. Combine them as must clauses (+) to find a problem doc. 
> docId=2147483647, class org.apache.lucene.search.ConjunctionScorer
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-7674
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7674
>             Project: Lucene - Core
>          Issue Type: Bug
>    Affects Versions: 6.3
>            Reporter: Tim Underwood
>
> Started seeing this error message on a production Solr 6.3.0 system today 
> making use of parent/child documents:
> {code}
> java.lang.IllegalStateException: Child query must not match same docs with 
> parent filter. Combine them as must clauses (+) to find a problem doc. 
> docId=2147483647, class org.apache.lucene.search.ConjunctionScorer
>     at 
> org.apache.lucene.search.join.ToParentBlockJoinQuery$BlockJoinScorer.checkOrthogonal(ToParentBlockJoinQuery.java:403)
>     at 
> org.apache.lucene.search.join.ToParentBlockJoinQuery$BlockJoinScorer.access$400(ToParentBlockJoinQuery.java:206)
>     at 
> org.apache.lucene.search.join.ToParentBlockJoinQuery$BlockJoinScorer$1.nextDoc(ToParentBlockJoinQuery.java:327)
>     at 
> org.apache.lucene.search.Weight$DefaultBulkScorer.scoreAll(Weight.java:219)
>     at 
> org.apache.lucene.search.Weight$DefaultBulkScorer.score(Weight.java:172)
>     at org.apache.lucene.search.BulkScorer.score(BulkScorer.java:39)
>     at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:669)
>     at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:473)
>     at 
> org.apache.solr.search.DocSetUtil.createDocSetGeneric(DocSetUtil.java:106)
>     at org.apache.solr.search.DocSetUtil.createDocSet(DocSetUtil.java:95)
>     at 
> org.apache.solr.search.SolrIndexSearcher.getDocSetNC(SolrIndexSearcher.java:1379)
>     at 
> org.apache.solr.search.SolrIndexSearcher.getPositiveDocSet(SolrIndexSearcher.java:1057)
>     at 
> org.apache.solr.search.SolrIndexSearcher.getProcessedFilter(SolrIndexSearcher.java:1227)
>     at 
> org.apache.solr.search.SolrIndexSearcher.getDocListAndSetNC(SolrIndexSearcher.java:1842)
>     at 
> org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1616)
>     at 
> org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:617)
>     at 
> org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:531)
>     at 
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:295)
>     at 
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:153)
>     at org.apache.solr.core.SolrCore.execute(SolrCore.java:2213)
>     at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:654)
>     at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:460)
>     at 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:303)
>     at 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:254)
>     at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
>     at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
>     at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>     at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>     at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
>     at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
>     at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
>     at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>     at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
>     at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>     at 
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
>     at 
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
>     at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>     at org.eclipse.jetty.server.Server.handle(Server.java:518)
>     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>     at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
>     at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
>     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>     at 
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>     at 
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
>     at 
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
>     at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
>     at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>     at java.lang.Thread.run(Thread.java:745)
> {code}
> The "docId=2147483647" part seems suspicious since that corresponds to 
> Integer.MAX_VALUE and my index only has 102,013,289 docs in it.  According to 
> the Solr searcher stats page I have:
> numDocs: 71,870,998
> maxDocs: 102,013,289
> deletedDocs: 30,142,291
> I took the query that was failing and attempted to intersect my parent query 
> with the child query to find any problem docs but that came back with 0 
> results.
> After performing an optimize (via the Solr UI) on the index the problem has 
> gone away and the query that previously triggered this error works as it 
> should.



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

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

Reply via email to