1

Solrを実行するとすぐに突然例外がスローされるまで、Solrは完全に機能していました

例外は次のとおりです。

WARNING: REPLAY_ERR: Exception replaying log

java.lang.UnsupportedOperationException
    at org.apache.lucene.queries.function.FunctionValues.longVal(FunctionValues.java:46)
    at org.apache.solr.update.VersionInfo.getVersionFromIndex(VersionInfo.java:201)
    at org.apache.solr.update.UpdateLog.lookupVersion(UpdateLog.java:711)
    at org.apache.solr.update.VersionInfo.lookupVersion(VersionInfo.java:184)
    at org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:571)
    at org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:350)
    at org.apache.solr.update.UpdateLog$LogReplayer.doReplay(UpdateLog.java:1268)
    at org.apache.solr.update.UpdateLog$LogReplayer.run(UpdateLog.java:1159)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:722)

この問題を掘り下げた後、クラスFunctionValuesが次の機能を実装していないことがわかりました

public float floatVal(int doc) { throw new UnsupportedOperationException(); }
public int intVal(int doc) { throw new UnsupportedOperationException(); }
public long longVal(int doc) { throw new UnsupportedOperationException(); }
...

ドキュメントにはこれについて何もありませんが、

どのように機能していたのか、この問題を解決するために欠けているものは何ですか?

4

2 に答える 2

0

schema.xml の _version_ フィールド タイプは何ですか? これに遭遇し、_version_ フィールド タイプが文字列に設定されていたため、slong に変更する必要がありました。

これは、シャーディングやレプリケーションの使用を開始したときに初めて現れました。シングルノード、シングルコアの時は全く問題ありませんでした。

間違った方法

<field name="_version_" type="string" indexed="true" stored="true" multiValued="false" />

働いた方法

<field name="_version_" type="slong" indexed="true" stored="true" multiValued="false" />
于 2015-04-01T16:47:13.953 に答える
0

修正 -

タイプは「ロング」である必要があります。それは問題を解決します。

于 2015-11-19T05:06:24.003 に答える