This looks like a bug in the CartesianProductStream. It's going to have be fixed before parallel cartesian products can be run. Feel free to create a jira for this.
Joel Bernstein http://joelsolr.blogspot.com/ On Mon, Jan 29, 2018 at 9:58 AM, Kojo <rbsnk...@gmail.com> wrote: > Hi solr-users! > I have a Streaming Expression which joins two search SE, one of them is > evaluated on a cartesianProduct SE. > I´am trying to run that in parallel mode but it does not work. > > > Trying a very simple parallel I can see that it works: > > parallel( > search( > > > > But this one I´m trying to run, doesn´t works: > > parallel( > rollup( > sort( > hashJoin( > search( > hashed=cartesianProduct( > search( > > > > The simplified version of the above, doesn´t works too: > > parallel( > cartesianProduct( > search( > > > The error is bellow, do you have any hint on how can I fix the expression? > > Thank you. > > > > java.io.IOException: java.lang.NullPointerException > at > org.apache.solr.client.solrj.io.stream.ParallelStream.constructStreams( > ParallelStream.java:277) > at > org.apache.solr.client.solrj.io.stream.CloudSolrStream. > open(CloudSolrStream.java:305) > at > org.apache.solr.client.solrj.io.stream.ExceptionStream. > open(ExceptionStream.java:51) > at > org.apache.solr.handler.StreamHandler$TimerStream. > open(StreamHandler.java:535) > at > org.apache.solr.client.solrj.io.stream.TupleStream. > writeMap(TupleStream.java:83) > at > org.apache.solr.response.JSONWriter.writeMap(JSONResponseWriter.java:547) > at > org.apache.solr.response.TextResponseWriter.writeVal( > TextResponseWriter.java:193) > at > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups( > JSONResponseWriter.java:209) > at > org.apache.solr.response.JSONWriter.writeNamedList( > JSONResponseWriter.java:325) > at > org.apache.solr.response.JSONWriter.writeResponse( > JSONResponseWriter.java:120) > at > org.apache.solr.response.JSONResponseWriter.write( > JSONResponseWriter.java:71) > at > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse( > QueryResponseWriterUtil.java:65) > at > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:809) > at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:538) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter( > SolrDispatchFilter.java:361) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter( > SolrDispatchFilter.java:305) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain. > doFilter(ServletHandler.java:1691) > 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:534) > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320) > at > org.eclipse.jetty.server.HttpConnection.onFillable( > HttpConnection.java:251) > 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. > 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.lang.Thread.run(Thread.java:748) > Caused by: java.lang.NullPointerException > at > org.apache.solr.client.solrj.io.stream.CartesianProductStream. > toExpression(CartesianProductStream.java:154) > at > org.apache.solr.client.solrj.io.stream.CartesianProductStream. > toExpression(CartesianProductStream.java:134) > at > org.apache.solr.client.solrj.io.stream.CartesianProductStream. > toExpression(CartesianProductStream.java:44) > at > org.apache.solr.client.solrj.io.stream.ParallelStream.constructStreams( > ParallelStream.java:255) >