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

Cassandra Targett commented on SOLR-13970:
------------------------------------------

Erick filed this issue originally for a situation we saw with a client who was 
using collapsing & grouping somewhat frequently. He didn't share in this report 
the stack trace we saw, which is relatively concerning since it usually 
indicates data corruption (checking the index for that showed no corruption, 
however). I've included an anonymized sample stack trace below.

[~munendrasn], when you were looking at this to make your patch, did you also 
encounter a similar error? Is there any explanation for why it currently throws 
this type of error? While I really value the change to throw an explicit error, 
I'm still left wondering a bit why the combination throws this scary looking 
thing today.

{code}
2019-11-21T18:21:28,968 - ERROR 
[qtp740950652-179741:solr.common.SolrException@148] - 
{collection=c:collection_B, core=x:collection_B_shard1_replica_n67, 
node_name=n:##.##.##.##:8983_solr, replica=r:core_node68, shard=s:shard1} - 
java.io.EOFException: read past EOF: 
MMapIndexInput(path="/solr/collection_B_shard1_replica_n67/data/index/_9dz_Lucene70_0.dvd")
 [slice=docs]
        at 
org.apache.lucene.store.ByteBufferIndexInput.readByte(ByteBufferIndexInput.java:75)
        at org.apache.lucene.store.DataInput.readInt(DataInput.java:102)
        at 
org.apache.lucene.store.ByteBufferIndexInput.readInt(ByteBufferIndexInput.java:126)
        at org.apache.lucene.store.DataInput.readLong(DataInput.java:157)
        at 
org.apache.lucene.store.ByteBufferIndexInput.readLong(ByteBufferIndexInput.java:137)
        at 
org.apache.lucene.codecs.lucene70.IndexedDISI$Method$2.advanceExactWithinBlock(IndexedDISI.java:276)
        at 
org.apache.lucene.codecs.lucene70.IndexedDISI.advanceExact(IndexedDISI.java:154)
        at 
org.apache.lucene.codecs.lucene70.Lucene70DocValuesProducer$20.advanceExact(Lucene70DocValuesProducer.java:895)
        at 
org.apache.solr.search.CollapsingQParserPlugin$OrdScoreCollector.collect(CollapsingQParserPlugin.java:552)
        at 
org.apache.lucene.search.Weight$DefaultBulkScorer.scoreAll(Weight.java:263)
        at 
org.apache.lucene.search.Weight$DefaultBulkScorer.score(Weight.java:214)
        at org.apache.lucene.search.BulkScorer.score(BulkScorer.java:39)
        at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:670)
        at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:471)
        at 
org.apache.solr.search.Grouping.searchWithTimeLimiter(Grouping.java:447)
        at org.apache.solr.search.Grouping.execute(Grouping.java:395)
        at 
org.apache.solr.handler.component.QueryComponent.doProcessGroupedSearch(QueryComponent.java:1409)
        at 
org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:367)
        at 
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:298)
        at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:199)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:2541)
        at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:709)
        at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:515)
        at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:377)
        at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:323)
        at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634)
        at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
        at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
        at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
        at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
        at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
        at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
        at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
        at 
org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:174)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at org.eclipse.jetty.server.Server.handle(Server.java:503)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
        at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
        at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
        at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
        at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
        at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
        at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
        at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
        at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:748)
{code}

> Collapse/Expand and Grouping are not designed to work together, we should 
> fail requests that specify both gracefully
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-13970
>                 URL: https://issues.apache.org/jira/browse/SOLR-13970
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Erick Erickson
>            Assignee: Munendra S N
>            Priority: Major
>         Attachments: SOLR-13970.patch
>
>
> Expand/Collapse was conceived as orthogonal to grouping, and there are odd 
> interactions when both are specified. If these two options are specified, we 
> should reject the query with an informative message.
> Shorter term, making this explicit in the documents would be helpful.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to