[ https://issues.apache.org/jira/browse/LUCENE-6906?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15022610#comment-15022610 ]
Adrien Grand commented on LUCENE-6906: -------------------------------------- There are quite fast indeed (I did not test with SimpleText but I assume it would be fast as well). I put them in the Lucene54 test because they were quite specific to the Lucene54 impl (using a sparse encoding only when there are more than 1024 docs) but I can put them in the base class. > Lucene54DocValuesFormat bug when a large segment does not have values > --------------------------------------------------------------------- > > Key: LUCENE-6906 > URL: https://issues.apache.org/jira/browse/LUCENE-6906 > Project: Lucene - Core > Issue Type: Bug > Reporter: Adrien Grand > Assignee: Adrien Grand > Priority: Minor > Attachments: LUCENE-6906.patch > > > Mike reported getting the following stack trace during a merge: > {noformat} > java.lang.ArrayIndexOutOfBoundsException: -1 > at > org.apache.lucene.util.packed.DirectMonotonicWriter.flush(DirectMonotonicWriter.java:64) > at > org.apache.lucene.util.packed.DirectMonotonicWriter.finish(DirectMonotonicWriter.java:126) > at > org.apache.lucene.codecs.lucene54.Lucene54DocValuesConsumer.writeSparseMissingBitset(Lucene54DocValuesConsumer.java:399) > at > org.apache.lucene.codecs.lucene54.Lucene54DocValuesConsumer.addNumericField(Lucene54DocValuesConsumer.java:207) > at > org.apache.lucene.codecs.lucene54.Lucene54DocValuesConsumer.addSortedField(Lucene54DocValuesConsumer.java:614) > at > org.apache.lucene.codecs.lucene54.Lucene54DocValuesConsumer.addSortedSetField(Lucene54DocValuesConsumer.java:653) > at > org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat$FieldsWriter.addSortedSetField(PerFieldDocValuesFormat.java:131) > at > org.apache.lucene.codecs.DocValuesConsumer.mergeSortedSetField(DocValuesConsumer.java:736) > at > org.apache.lucene.codecs.DocValuesConsumer.merge(DocValuesConsumer.java:219) > at > org.apache.lucene.index.SegmentMerger.mergeDocValues(SegmentMerger.java:150) > at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:105) > at > org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4075) > at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3655) > at > org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:588) > at > org.elasticsearch.index.engine.ElasticsearchConcurrentMergeScheduler.doMerge(ElasticsearchConcurrentMergeScheduler.java:95) > at > org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:626) > {noformat} > This is due to the fact that the segment did not have any values and made > DirectMonotonicWriter fail since it assumes at least one value (without > explicitly testing it). -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org