Solr 8.6 - simpleグループを使用するときにこのリクエストを処理するためのライブなSolrServersがありません

トピック作成者:ks-solruserml-bot (2024/05/28 19:26 投稿)
3
CloseClose

(The bot translated the original post https://lists.apache.org/thread/1cj3dtbx26sybp9s7gv40y6lrpdps86h into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

この問題は、分散ソルのインスタンスでシンプルなグループ呼び出しを行おうとしているときに発生しました。この分散ソルは6つのシャードと60百万のドキュメントを持っています。非分散インデックスでは同じ呼び出しを行うことができましたが、分散インデックスでもグループが動作するとの理解です(ngroups、group.func、group.facetを使用していない限り)。

{
  "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
  }
}
<field name="contractNumber" type="text" docValues="true" indexed="true" required="false" stored="false" useDocValuesAsStored="true"/>

<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>

これはバグでしょうか?

シャード数: 6
configName: myConfig
replicationFactor: 3
maxShardsPerNode: 10
router: compositeId
autoAddReplicas: False

ありがとうございます

Nate

返信投稿者:ks-solruserml-bot (2024/05/28 19:26 投稿)

solr 8.8.2も試しましたが、うまくいきませんでした。

返信投稿者:ks-solruserml-bot (2024/05/28 19:27 投稿)

こちらが私のスタックトレースです。フィールドタイプに関連する問題のようです。他のタイプのフィールド(Intやngramテキストフィールドなど)でも試しましたが、同じエラーが発生しました。

java.lang.NullPointerException
at org.apache.solr.schema.FieldType.toExternal(FieldType.java:361)
at org.apache.solr.search.grouping.distributed.shardresultserializer.TopGroupsResultTransformer.serializeTopGroups(TopGroupsResultTransformer.java:210)
at org.apache.solr.search.grouping.distributed.shardresultserializer.TopGroupsResultTransformer.transform(TopGroupsResultTransformer.java:77)
at org.apache.solr.search.grouping.distributed.shardresultserializer.TopGroupsResultTransformer.transform(TopGroupsResultTransformer.java:57)
at org.apache.solr.search.grouping.CommandHandler.processResult(CommandHandler.java:214)
at org.apache.solr.handler.component.QueryComponent.doProcessGroupedDistributedSearchSecondPhase(QueryComponent.java:1424)
at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:386)
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:363)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:216)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:2646)
at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:794)
at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:567)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:427)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:357)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:201)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1612)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1582)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:322)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:335)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:135)
at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:183)
at org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:138)
at org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:361)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
at java.base/java.lang.Thread.run(Unknown Source)
返信投稿者:ks-solruserml-bot (2024/05/28 19:27 投稿)

これは確かにバグのようですね。グループフィールドに使用されているソート可能なテキストフィールドが原因かもしれません。おそらく、文字列フィールドと同様にnullを処理していない可能性があります。試してみるべきことの1つは、nullのない文字列フィールドと、nullを含む文字列フィールドでグループ化に問題があるかどうかをテストすることです。

Joel Bernstein
http://joelsolr.blogspot.com/

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2024 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?