Re: NullPointerException in Graph Traversal nodes streaming expression
How are you constructing the Stream with classes or using a Streaming Expression? In either case can you post either the code or expression? Are there more errors in the logs? The place where this NPE is occurring is that an underlying stream is null, which leads me to believe there would be some exceptions before this, possibly on a different server if this has multiple servers involved. Joel Bernstein http://joelsolr.blogspot.com/ On Thu, Jan 21, 2021 at 5:46 PM Mike Drob wrote: > Can you provide a sample expression that would be able to reproduce this? > Are you able to try a newer version by chance - I know we've fixed a few > NPEs recently, maybe https://issues.apache.org/jira/browse/SOLR-14700 > > On Thu, Jan 21, 2021 at 4:13 PM ufuk yılmaz > wrote: > > > Solr version 8.4. I’m getting an unexplanetory NullPointerException when > > executing a simple 2 level nodes stream, do you have any idea what may > > cause this? > > > > I tried setting /stream?partialResults=true&shards.tolerant=true and > > shards.tolerant=true in nodes expressions, with no luck. I also tried > > reading source of GatherNodesStream in branch 8_4, but couldn’t > understand > > it. Here is a beautiful stack trace: > > > > solr| 2021-01-21 22:00:12.726 ERROR (qtp832292933-25149) > > [c:WorkerCollection s:shard1 r:core_node10 > > x:WorkerCollection_shard1_replica_n9] o.a.s.c.s.i.s.ExceptionStream > > java.lang.RuntimeException: java.util.concurrent.ExecutionException: > > java.lang.RuntimeException: java.lang.NullPointerException > > solr| at > > > org.apache.solr.client.solrj.io.graph.GatherNodesStream.read(GatherNodesStream.java:607) > > solr| at > > > org.apache.solr.client.solrj.io.stream.ExceptionStream.read(ExceptionStream.java:71) > > solr| at > > > org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandler.java:454) > > solr| at > > > org.apache.solr.client.solrj.io.stream.TupleStream.lambda$writeMap$0(TupleStream.java:84) > > solr| at > > > org.apache.solr.common.util.JsonTextWriter.writeIterator(JsonTextWriter.java:141) > > solr| at > > org.apache.solr.common.util.TextWriter.writeVal(TextWriter.java:67) > > solr| at > > > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:152) > > solr| at > > org.apache.solr.common.util.JsonTextWriter$2.put(JsonTextWriter.java:176) > > solr| at > > > org.apache.solr.client.solrj.io.stream.TupleStream.writeMap(TupleStream.java:81) > > solr| at > > > org.apache.solr.common.util.JsonTextWriter.writeMap(JsonTextWriter.java:164) > > solr| at > > org.apache.solr.common.util.TextWriter.writeVal(TextWriter.java:69) > > solr| at > > > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:152) > > solr| at > > > org.apache.solr.common.util.JsonTextWriter.writeNamedListAsMapWithDups(JsonTextWriter.java:386) > > solr| at > > > org.apache.solr.common.util.JsonTextWriter.writeNamedList(JsonTextWriter.java:292) > > solr| at > > org.apache.solr.response.JSONWriter.writeResponse(JSONWriter.java:73) > > solr| at > > > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:66) > > solr| at > > > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65) > > solr| at > > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:892) > > solr| at > > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:594) > > solr| at > > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:419) > > solr| at > > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:351) > > solr| at > > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) > > solr| at > > > org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:311) > > solr| at > > > org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:265) > > solr| at > > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602) > > solr| at > > > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540) > > solr| at > > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) > > solr| at > > > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) > > solr| at > > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) > > solr| at > > > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) > > solr| at > > > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1711) > > solr| at > > > org.eclipse.jetty.server.handler.ScopedHandl
Re: NullPointerException in Graph Traversal nodes streaming expression
Can you provide a sample expression that would be able to reproduce this? Are you able to try a newer version by chance - I know we've fixed a few NPEs recently, maybe https://issues.apache.org/jira/browse/SOLR-14700 On Thu, Jan 21, 2021 at 4:13 PM ufuk yılmaz wrote: > Solr version 8.4. I’m getting an unexplanetory NullPointerException when > executing a simple 2 level nodes stream, do you have any idea what may > cause this? > > I tried setting /stream?partialResults=true&shards.tolerant=true and > shards.tolerant=true in nodes expressions, with no luck. I also tried > reading source of GatherNodesStream in branch 8_4, but couldn’t understand > it. Here is a beautiful stack trace: > > solr| 2021-01-21 22:00:12.726 ERROR (qtp832292933-25149) > [c:WorkerCollection s:shard1 r:core_node10 > x:WorkerCollection_shard1_replica_n9] o.a.s.c.s.i.s.ExceptionStream > java.lang.RuntimeException: java.util.concurrent.ExecutionException: > java.lang.RuntimeException: java.lang.NullPointerException > solr| at > org.apache.solr.client.solrj.io.graph.GatherNodesStream.read(GatherNodesStream.java:607) > solr| at > org.apache.solr.client.solrj.io.stream.ExceptionStream.read(ExceptionStream.java:71) > solr| at > org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandler.java:454) > solr| at > org.apache.solr.client.solrj.io.stream.TupleStream.lambda$writeMap$0(TupleStream.java:84) > solr| at > org.apache.solr.common.util.JsonTextWriter.writeIterator(JsonTextWriter.java:141) > solr| at > org.apache.solr.common.util.TextWriter.writeVal(TextWriter.java:67) > solr| at > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:152) > solr| at > org.apache.solr.common.util.JsonTextWriter$2.put(JsonTextWriter.java:176) > solr| at > org.apache.solr.client.solrj.io.stream.TupleStream.writeMap(TupleStream.java:81) > solr| at > org.apache.solr.common.util.JsonTextWriter.writeMap(JsonTextWriter.java:164) > solr| at > org.apache.solr.common.util.TextWriter.writeVal(TextWriter.java:69) > solr| at > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:152) > solr| at > org.apache.solr.common.util.JsonTextWriter.writeNamedListAsMapWithDups(JsonTextWriter.java:386) > solr| at > org.apache.solr.common.util.JsonTextWriter.writeNamedList(JsonTextWriter.java:292) > solr| at > org.apache.solr.response.JSONWriter.writeResponse(JSONWriter.java:73) > solr| at > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:66) > solr| at > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65) > solr| at > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:892) > solr| at > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:594) > solr| at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:419) > solr| at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:351) > solr| at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) > solr| at > org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:311) > solr| at > org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:265) > solr| at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602) > solr| at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540) > solr| at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) > solr| at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) > solr| at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) > solr| at > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) > solr| at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1711) > solr| at > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) > solr| at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1347) > solr| at > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) > solr| at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480) > solr| at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1678) > solr| at > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) > solr| at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1249) > solr| at > org.eclipse.jetty.server.handler.
NullPointerException in Graph Traversal nodes streaming expression
Solr version 8.4. I’m getting an unexplanetory NullPointerException when executing a simple 2 level nodes stream, do you have any idea what may cause this? I tried setting /stream?partialResults=true&shards.tolerant=true and shards.tolerant=true in nodes expressions, with no luck. I also tried reading source of GatherNodesStream in branch 8_4, but couldn’t understand it. Here is a beautiful stack trace: solr| 2021-01-21 22:00:12.726 ERROR (qtp832292933-25149) [c:WorkerCollection s:shard1 r:core_node10 x:WorkerCollection_shard1_replica_n9] o.a.s.c.s.i.s.ExceptionStream java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.lang.NullPointerException solr| at org.apache.solr.client.solrj.io.graph.GatherNodesStream.read(GatherNodesStream.java:607) solr| at org.apache.solr.client.solrj.io.stream.ExceptionStream.read(ExceptionStream.java:71) solr| at org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandler.java:454) solr| at org.apache.solr.client.solrj.io.stream.TupleStream.lambda$writeMap$0(TupleStream.java:84) solr| at org.apache.solr.common.util.JsonTextWriter.writeIterator(JsonTextWriter.java:141) solr| at org.apache.solr.common.util.TextWriter.writeVal(TextWriter.java:67) solr| at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:152) solr| at org.apache.solr.common.util.JsonTextWriter$2.put(JsonTextWriter.java:176) solr| at org.apache.solr.client.solrj.io.stream.TupleStream.writeMap(TupleStream.java:81) solr| at org.apache.solr.common.util.JsonTextWriter.writeMap(JsonTextWriter.java:164) solr| at org.apache.solr.common.util.TextWriter.writeVal(TextWriter.java:69) solr| at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:152) solr| at org.apache.solr.common.util.JsonTextWriter.writeNamedListAsMapWithDups(JsonTextWriter.java:386) solr| at org.apache.solr.common.util.JsonTextWriter.writeNamedList(JsonTextWriter.java:292) solr| at org.apache.solr.response.JSONWriter.writeResponse(JSONWriter.java:73) solr| at org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:66) solr| at org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65) solr| at org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:892) solr| at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:594) solr| at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:419) solr| at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:351) solr| at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610) solr| at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:311) solr| at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:265) solr| at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602) solr| at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540) solr| at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) solr| at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) solr| at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) solr| at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) solr| at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1711) solr| at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) solr| at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1347) solr| at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) solr| at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480) solr| at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1678) solr| at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) solr| at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1249) solr| at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) solr| at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220) solr| at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152) solr| at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) solr| at org.eclipse.je