[ https://issues.apache.org/jira/browse/SOLR-15347?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17361917#comment-17361917 ]
Jason Gerlowski commented on SOLR-15347: ---------------------------------------- Hi Nathan, We reserve JIRA use for verified bugs or improvements. Questions and requests for help like the one you posted here are better sent to the Solr's "user" mailing list: us...@solr.apache.org which has more eyes on it day-to-day. It can be frustrating to not get a response on the users-list, if you've already asked there. But patience and persistence are really the best strategies for working around that (instead of cross-posting here). Very few people read all JIRA tickets exhaustively compared to the number of eyes on the users list. If it's been some time and this is still relevant, give your thread a bump and ask again if anyone has any ideas or information about grouping's limitations. > Group=true&group.field=myTextField/myStringField Error with solr cloud > ---------------------------------------------------------------------- > > Key: SOLR-15347 > URL: https://issues.apache.org/jira/browse/SOLR-15347 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Affects Versions: 8.6, 8.8.1 > Reporter: Nathan Reinhardt > Priority: Major > Attachments: solrConfig.png > > > I am trying to make a simple group call. This is on a distributed solr > instance with 6 shards and 60m documents. I can make this same call when I > was on > a non distributed index. My understanding is that group still works on a > distributed index as long as you are not using ngroups, group.func, and > group.facet. > > [https://solr.apache.org/guide/8_6/result-grouping.html#distributed-result-grouping-caveats] > > I will post some iterations I have tried. I have gotten two different errors > based on the number of shards. This works with 1 shard so it seems to be with > distributed searches. I started on 8.6 but then updated to 8.8.1. My solr > instance is running in Kubernetes. We have completely tore down the instance > and reinstantiated it also. No luck. _I have another collection on a > different instance that has 3 shards and uses a basic string field - it > works._ > Senario 1 - Original > > {noformat} > { > "responseHeader":{ > "zkConnected":true, > "status":500, > "QTime":833, > "params":{ > "q":"*:*", > "group.field":"contractNumber", > "_":"1618516270590", > "group":"true"}}, > "error":{ > "metadata":[ > "error-class","org.apache.solr.common.SolrException", > > "root-error-class","org.apache.solr.client.solrj.impl.BaseHttpSolrClient$RemoteSolrException"], > "msg":"org.apache.solr.client.solrj.SolrServerException: No live > SolrServers available to handle this request:... > "code":500}}{noformat} > > {noformat} > <field name="contractNumber" type="text" docValues="true" indexed="true" > required="false" stored="false" useDocValuesAsStored="true"/>{noformat} > > {noformat} > <fieldType name="text" class="solr.SortableTextField" omitNorms="true" > positionIncrementGap="100"> > <analyzer type="index"> > <tokenizer class="solr.KeywordTokenizerFactory"/> > <filter class="solr.LowerCaseFilterFactory"/> > </analyzer> > <analyzer type="query"> > <tokenizer class="solr.KeywordTokenizerFactory"/> > <filter class="solr.LowerCaseFilterFactory"/> > </analyzer> > </fieldType>{noformat} > > > Shard count:6 > configName: myConfig > replicationFactor:3 > maxShardsPerNode:10 > router:compositeId > autoAddReplicas:False > h2. > h2. Senario 2 > > 2 shards, field is a string now. > {noformat} > { > "responseHeader":{ > "zkConnected":true, > "status":500, > "QTime":26, > "params":{ > "q":"*:*", > "group.field":"contractNumber", > "_":"1618582691970", > "group":"true"}}, > "error":{ > "metadata":[ > > "error-class","org.apache.solr.client.solrj.impl.BaseHttpSolrClient$RemoteSolrException", > > "root-error-class","org.apache.solr.client.solrj.impl.BaseHttpSolrClient$RemoteSolrException"], > "msg":"Error from server at null: java.lang.NullPointerException\n\tat > org.apache.solr.schema.FieldType.toExternal(FieldType.java:361)\n\tat > org.apache.solr.search.grouping.distributed.shardresultserializer.TopGroupsResultTransformer.serializeTopGroups(TopGroupsResultTransformer.java:210)\n\tat > > org.apache.solr.search.grouping.distributed.shardresultserializer.TopGroupsResultTransformer.transform(TopGroupsResultTransformer.java:77)\n\tat > > org.apache.solr.search.grouping.distributed.shardresultserializer.TopGroupsResultTransformer.transform(TopGroupsResultTransformer.java:57)\n\tat > > org.apache.solr.search.grouping.CommandHandler.processResult(CommandHandler.java:214)\n\tat > > org.apache.solr.handler.component.QueryComponent.doProcessGroupedDistributedSearchSecondPhase(QueryComponent.java:1424)\n\tat > > org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:386)\n\tat > > org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:355)\n\tat > > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:216)\n\tat > org.apache.solr.core.SolrCore.execute(SolrCore.java:2646)\n\tat > org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:794)\n\tat > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:567)\n\tat > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:427)\n\tat > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:357)\n\tat > org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:201)\n\tat > org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)\n\tat > > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)\n\tat > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)\n\tat > > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602)\n\tat > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\tat > > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)\n\tat > > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1612)\n\tat > > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)\n\tat > > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)\n\tat > > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)\n\tat > > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)\n\tat > > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1582)\n\tat > > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)\n\tat > > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)\n\tat > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\n\tat > > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)\n\tat > > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)\n\tat > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\tat > > org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:322)\n\tat > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\tat > org.eclipse.jetty.server.Server.handle(Server.java:516)\n\tat > org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)\n\tat > org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556)\n\tat > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)\n\tat > org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:335)\n\tat > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)\n\tat > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)\n\tat > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)\n\tat > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:135)\n\tat > > org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:183)\n\tat > > org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:138)\n\tat > > org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:361)\n\tat > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)\n\tat > org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)\n\tat > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)\n\tat > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)\n\tat > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)\n\tat > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)\n\tat > > org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)\n\tat > > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)\n\tat > > org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)\n\tat > java.base/java.lang.Thread.run(Unknown Source)\n", > > "trace":"org.apache.solr.client.solrj.impl.BaseHttpSolrClient$RemoteSolrException: > Error from server at null: java.lang.NullPointerException\n\tat > org.apache.solr.schema.FieldType.toExternal(FieldType.java:361)\n\tat > org.apache.solr.search.grouping.distributed.shardresultserializer.TopGroupsResultTransformer.serializeTopGroups(TopGroupsResultTransformer.java:210)\n\tat > > org.apache.solr.search.grouping.distributed.shardresultserializer.TopGroupsResultTransformer.transform(TopGroupsResultTransformer.java:77)\n\tat > > org.apache.solr.search.grouping.distributed.shardresultserializer.TopGroupsResultTransformer.transform(TopGroupsResultTransformer.java:57)\n\tat > > org.apache.solr.search.grouping.CommandHandler.processResult(CommandHandler.java:214)\n\tat > > org.apache.solr.handler.component.QueryComponent.doProcessGroupedDistributedSearchSecondPhase(QueryComponent.java:1424)\n\tat > > org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:386)\n\tat > > org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:355)\n\tat > > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:216)\n\tat > org.apache.solr.core.SolrCore.execute(SolrCore.java:2646)\n\tat > org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:794)\n\tat > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:567)\n\tat > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:427)\n\tat > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:357)\n\tat > org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:201)\n\tat > org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)\n\tat > > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)\n\tat > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)\n\tat > > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602)\n\tat > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\tat > > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)\n\tat > > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1612)\n\tat > > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)\n\tat > > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)\n\tat > > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)\n\tat > > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)\n\tat > > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1582)\n\tat > > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)\n\tat > > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)\n\tat > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\n\tat > > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)\n\tat > > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)\n\tat > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\tat > > org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:322)\n\tat > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\tat > org.eclipse.jetty.server.Server.handle(Server.java:516)\n\tat > org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)\n\tat > org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556)\n\tat > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)\n\tat > org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:335)\n\tat > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)\n\tat > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)\n\tat > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)\n\tat > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:135)\n\tat > > org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:183)\n\tat > > org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:138)\n\tat > > org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:361)\n\tat > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)\n\tat > org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)\n\tat > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)\n\tat > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)\n\tat > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)\n\tat > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)\n\tat > > org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)\n\tat > > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)\n\tat > > org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)\n\tat > java.base/java.lang.Thread.run(Unknown Source)\n\n\tat > org.apache.solr.client.solrj.impl.Http2SolrClient.processErrorsAndResponse(Http2SolrClient.java:742)\n\tat > > org.apache.solr.client.solrj.impl.Http2SolrClient.request(Http2SolrClient.java:412)\n\tat > > org.apache.solr.client.solrj.impl.Http2SolrClient.request(Http2SolrClient.java:761)\n\tat > org.apache.solr.client.solrj.SolrClient.request(SolrClient.java:1290)\n\tat > org.apache.solr.handler.component.HttpShardHandler.request(HttpShardHandler.java:80)\n\tat > > org.apache.solr.handler.component.ShardRequestor.call(ShardRequestor.java:130)\n\tat > > org.apache.solr.handler.component.ShardRequestor.call(ShardRequestor.java:41)\n\tat > java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown > Source)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown > Source)\n\tat > com.codahale.metrics.InstrumentedExecutorService$InstrumentedRunnable.run(InstrumentedExecutorService.java:180)\n\tat > > org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:218)\n\tat > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown > Source)\n\tat > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown > Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\n", > "code":500}} > {noformat} > {noformat} > <field name="contractNumber" type="string" docValues="false" indexed="true" > required="false" stored="true" useDocValuesAsStored="false"/>{noformat} > {noformat} > Shard count:2 > configName:myConfigSet > replicationFactor:3 > maxShardsPerNode:5 > router:compositeId > autoAddReplicas:False{noformat} > > > One shows an error saying "No live SolrServers available to handle this > request:.." and one is a "Null pointer exception". When I have 3+ shards it > is always the first error. If I dig down I do see the Null pointer exception > so I imagine its just how errors are forwarded on larger distributed sets. > > I have tried the most basic fieldtype and group search and its still not > working. Let me know if you need more info -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org