You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Rahul Goswami (JIRA)" <ji...@apache.org> on 2019/02/04 23:03:00 UTC

[jira] [Updated] (SOLR-13217) collapse parser with /export request handler throws NPE

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

Rahul Goswami updated SOLR-13217:
---------------------------------
    Description: 
A NullPointerException is thrown when trying to use the /export handler with a search() streaming expression containing an fq which uses collapse parser. Below is the format of the complete query:

 [http://localhost:8983/solr/mycollection/stream/?expr=search(mycollection] ,sort="field1 asc,field2 asc",fl="fileld1,field2,field3",qt="/export",q="*:*",fq="((field4:1) OR (field4:2))",fq="

{!collapse field=id_field sort='field3 desc'}")

 

I made sure that collapse parser here is the problem by removing all other filter queries and retaining only collapse filter query. The stacktrace is as below: 

 

org.apache.solr.servlet.HttpSolrCall null:java.lang.NullPointerException
 at org.apache.lucene.util.BitSetIterator.<init>(BitSetIterator.java:61)
 at org.apache.solr.handler.ExportWriter.writeDocs(ExportWriter.java:243)
 at org.apache.solr.handler.ExportWriter.lambda$null$1(ExportWriter.java:222)
 at org.apache.solr.response.JSONWriter.writeIterator(JSONResponseWriter.java:523)
 at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:180)
 at org.apache.solr.response.JSONWriter$2.put(JSONResponseWriter.java:559)
 at org.apache.solr.handler.ExportWriter.lambda$null$2(ExportWriter.java:222)
 at org.apache.solr.response.JSONWriter.writeMap(JSONResponseWriter.java:547)
 at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:198)
 at org.apache.solr.response.JSONWriter$2.put(JSONResponseWriter.java:559)
 at org.apache.solr.handler.ExportWriter.lambda$write$3(ExportWriter.java:220)
 at org.apache.solr.response.JSONWriter.writeMap(JSONResponseWriter.java:547)
 at org.apache.solr.handler.ExportWriter.write(ExportWriter.java:218)
 at org.apache.solr.core.SolrCore$3.write(SolrCore.java:2627)
 at org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:49)
 at org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:788)
 at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:525)
 at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:382)
 at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:326)
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1751)
 at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
 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:1180)
 at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
 at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
 at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
 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.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
 at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
 at org.eclipse.jetty.server.Server.handle(Server.java:539)
 at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
 at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
 at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
 at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
 at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
 at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
 at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
 at java.base/java.lang.Thread.run(Thread.java:834)

  was:
A NullPointerException is thrown when trying to use the /export handler with a search() streaming expression containing an fq which uses collapse parser. Below is the format of the complete query:

 [http://localhost:8983/solr/mycollection/stream/?expr=search(mycollection] ,sort="field1 asc,field2 asc",fl="fileld1,field2,field3",qt="/export",q="*:*",fq="((field4:1) OR (field4:2))",fq="

{!collapse field=id_field sort='field3 desc'}

")

 

I made sure that collapse parser here is the problem by removing all other filter queries and retaining only collapse filter query. The stacktrace is as below: 

 

org.apache.solr.servlet.HttpSolrCall null:java.lang.NullPointerException
 at org.apache.lucene.util.BitSetIterator.<init>(BitSetIterator.java:61)
 at org.apache.solr.handler.ExportWriter.writeDocs(ExportWriter.java:243)
 at org.apache.solr.handler.ExportWriter.lambda$null$1(ExportWriter.java:222)
 at org.apache.solr.response.JSONWriter.writeIterator(JSONResponseWriter.java:523)
 at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:180)
 at org.apache.solr.response.JSONWriter$2.put(JSONResponseWriter.java:559)
 at org.apache.solr.handler.ExportWriter.lambda$null$2(ExportWriter.java:222)
 at org.apache.solr.response.JSONWriter.writeMap(JSONResponseWriter.java:547)
 at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:198)
 at org.apache.solr.response.JSONWriter$2.put(JSONResponseWriter.java:559)
 at org.apache.solr.handler.ExportWriter.lambda$write$3(ExportWriter.java:220)
 at org.apache.solr.response.JSONWriter.writeMap(JSONResponseWriter.java:547)
 at org.apache.solr.handler.ExportWriter.write(ExportWriter.java:218)
 at org.apache.solr.core.SolrCore$3.write(SolrCore.java:2627)
 at org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:49)
 at org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:788)
 at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:525)
 at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:382)
 at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:326)
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1751)
 at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
 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:1180)
 at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
 at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
 at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
 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.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
 at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
 at org.eclipse.jetty.server.Server.handle(Server.java:539)
 at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
 at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
 at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
 at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
 at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
 at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
 at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
 at java.base/java.lang.Thread.run(Thread.java:834)


> collapse parser with /export request handler throws NPE
> -------------------------------------------------------
>
>                 Key: SOLR-13217
>                 URL: https://issues.apache.org/jira/browse/SOLR-13217
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>    Affects Versions: 7.2.1
>            Reporter: Rahul Goswami
>            Priority: Major
>
> A NullPointerException is thrown when trying to use the /export handler with a search() streaming expression containing an fq which uses collapse parser. Below is the format of the complete query:
>  [http://localhost:8983/solr/mycollection/stream/?expr=search(mycollection] ,sort="field1 asc,field2 asc",fl="fileld1,field2,field3",qt="/export",q="*:*",fq="((field4:1) OR (field4:2))",fq="
> {!collapse field=id_field sort='field3 desc'}")
>  
> I made sure that collapse parser here is the problem by removing all other filter queries and retaining only collapse filter query. The stacktrace is as below: 
>  
> org.apache.solr.servlet.HttpSolrCall null:java.lang.NullPointerException
>  at org.apache.lucene.util.BitSetIterator.<init>(BitSetIterator.java:61)
>  at org.apache.solr.handler.ExportWriter.writeDocs(ExportWriter.java:243)
>  at org.apache.solr.handler.ExportWriter.lambda$null$1(ExportWriter.java:222)
>  at org.apache.solr.response.JSONWriter.writeIterator(JSONResponseWriter.java:523)
>  at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:180)
>  at org.apache.solr.response.JSONWriter$2.put(JSONResponseWriter.java:559)
>  at org.apache.solr.handler.ExportWriter.lambda$null$2(ExportWriter.java:222)
>  at org.apache.solr.response.JSONWriter.writeMap(JSONResponseWriter.java:547)
>  at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:198)
>  at org.apache.solr.response.JSONWriter$2.put(JSONResponseWriter.java:559)
>  at org.apache.solr.handler.ExportWriter.lambda$write$3(ExportWriter.java:220)
>  at org.apache.solr.response.JSONWriter.writeMap(JSONResponseWriter.java:547)
>  at org.apache.solr.handler.ExportWriter.write(ExportWriter.java:218)
>  at org.apache.solr.core.SolrCore$3.write(SolrCore.java:2627)
>  at org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:49)
>  at org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:788)
>  at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:525)
>  at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:382)
>  at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:326)
>  at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1751)
>  at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
>  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:1180)
>  at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
>  at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>  at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
>  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.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
>  at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>  at org.eclipse.jetty.server.Server.handle(Server.java:539)
>  at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>  at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
>  at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
>  at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>  at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>  at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
>  at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
>  at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
>  at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
>  at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
>  at java.base/java.lang.Thread.run(Thread.java:834)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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