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(); }
...
而在文档中对此一无所知,
它是如何工作的,我缺少什么来解决这个问题?