Error when merging segments ("terms out of order")

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Error when merging segments ("terms out of order")

Alméras Yannick-2
Hello !

I don't understand a problem on my ubuntu 18.04 solr server (version 7.6.0)...

When merge of segments is called, there is an error and then, the index is not
writable. The logs of a failed segments merging are at the end of this message
(here, I forced the merge but it's the same without forcing).

How can I debug this ? I don't understand the cause of the following error

java.lang.IllegalArgumentException: terms out of order: priorTerm=[6e 61 64 69
6e 65 2e 76 61 6c 61 64 65 5f 33 35 32 37],currentTerm=[6e 61 64 69 6e 65 2e
76 61 6c 61 64 65 5f 33 35 32 37]"

Another thing : I can't reproduce the bug on archlinux with the same
configuration of solr server (version 7.6.0)... ???? It doesn't help me to
debug...

Thanks in advance,
Y. Alméras

*************
Error log :
*************
java.io.IOException: background merge hit exception: _1r(7.6.0):C17/1:delGen=1
_1s(7.6.0):C1 into _1t [maxNumSegments=2147483647]
        at
org.apache.lucene.index.IndexWriter.forceMerge(IndexWriter.java:2020)
        at
org.apache.lucene.index.IndexWriter.forceMerge(IndexWriter.java:1954)
        at
org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:
659)
        at
org.apache.solr.update.processor.RunUpdateProcessor.processCommit(RunUpdateProcessorFactory.java:
93)
        at
org.apache.solr.update.processor.UpdateRequestProcessor.processCommit(UpdateRequestProcessor.java:
68)
        at
org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalCommit(DistributedUpdateProcessor.java:
1950)
        at
org.apache.solr.update.processor.DistributedUpdateProcessor.processCommit(DistributedUpdateProcessor.java:
1926)
        at
org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processCommit(LogUpdateProcessorFactory.java:
160)
        at
org.apache.solr.handler.RequestHandlerUtils.handleCommit(RequestHandlerUtils.java:
69)
        at
org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:
62)
        at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:
199)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:2541)
        at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:
709)
        at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:
515)
        at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:
377)
        at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:
323)
        at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:
1634)
        at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
        at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
        at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
        at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:
132)
        at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:
257)
        at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:
1595)
        at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:
255)
        at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:
1317)
        at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:
203)
        at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
        at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:
1564)
        at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:
201)
        at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:
1219)
        at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
        at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:
219)
        at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:
126)
        at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:
132)
        at
org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:
335)
        at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:
132)
        at org.eclipse.jetty.server.Server.handle(Server.java:531)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:
352)
        at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
        at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:
281)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:
102)
        at
org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
        at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:
333)
        at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:
310)
        at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:
168)
        at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:
126)
        at
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:
366)
        at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:
762)
        at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:
680)
        at java.base/java.lang.Thread.run(Thread.java:834)

Caused by: java.lang.IllegalArgumentException: terms out of order:
priorTerm=[6e 61 64 69 6e 65 2e 76 61 6c 61 64 65 5f 33 35 32
37],currentTerm=[6e 61 64 69 6e 65 2e 76 61 6c 61 64 65 5f 33 35 32 37]
        at
org.apache.lucene.util.StringHelper.bytesDifference(StringHelper.java:47)
        at
org.apache.lucene.codecs.lucene70.Lucene70DocValuesConsumer.addTermsDict(Lucene70DocValuesConsumer.java:
461)
        at
org.apache.lucene.codecs.lucene70.Lucene70DocValuesConsumer.doAddSortedField(Lucene70DocValuesConsumer.java:
437)
        at
org.apache.lucene.codecs.lucene70.Lucene70DocValuesConsumer.addSortedField(Lucene70DocValuesConsumer.java:
394)
        at
org.apache.lucene.codecs.DocValuesConsumer.mergeSortedField(DocValuesConsumer.java:
527)
        at
org.apache.lucene.codecs.DocValuesConsumer.merge(DocValuesConsumer.java:139)
        at
org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat$FieldsWriter.merge(PerFieldDocValuesFormat.java:
151)
        at
org.apache.lucene.index.SegmentMerger.mergeDocValues(SegmentMerger.java:182)
        at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:
126)
        at
org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4446)
        at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:
4068)
        at
org.apache.solr.update.SolrIndexWriter.merge(SolrIndexWriter.java:196)
        at
org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:
625)
        at
org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:
662)