Как исправить OutOfMemoryError / AssertionError в CompressingTermVectorsReader Lucene? - PullRequest
0 голосов
/ 28 декабря 2018

Я создаю индекс Lucene на 64-битной платформе, используя Lucene 7.2.1.

Проблема заключается в том, что иногда после фиксации, когда запускается слияние, получается OutOfMemoryError или AssertionError.

Это какая-то проблема с повреждением индекса?из-за чего readPositions читает неверное высокое значение.Было бы полезно узнать, что может вызвать эти ошибки и какие шаги можно предпринять, чтобы их избежать.

Подробности:

Размер моего индекса небольшой (<100 МБ).Использование файла MMAP. </p>

Я не хотел бы увеличивать размер кучи (в настоящее время 1024 МБ)

maxMerge размер сегментов был установлен на 100 МБ, поэтому Lucene не должен пытаться объединить сегменты больше этогоразмер.

политика слияния: LogByteSizeMergePolicy

коэффициент слияния: 4

стек вызовов OutOfMemoryError

java.lang.OutOfMemoryError: Failed to allocate 
    at org.apache.lucene.codecs.compressing.CompressingTermVectorsReader.readPositions(CompressingTermVectorsReader.java:637)
    at org.apache.lucene.codecs.compressing.CompressingTermVectorsReader.get(CompressingTermVectorsReader.java:432)
    at org.apache.lucene.codecs.compressing.CompressingTermVectorsWriter.merge(CompressingTermVectorsWriter.java:834)
    at org.apache.lucene.index.SegmentMerger.mergeVectors(SegmentMerger.java:224)
    at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:158)
    at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4443)
    at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:4083)
    at org.apache.lucene.index.IndexWriter.maybeMerge(IndexWriter.java:2247)
    at org.apache.lucene.index.IndexWriter.commitInternal(IndexWriter.java:3471)
    at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:3423)

стек вызовов ошибок подтверждения

java.lang.AssertionError
org.apache.lucene.codecs.compressing.CompressingTermVectorsReader.get(CompressingTermVectorsReader.java:321)
org.apache.lucene.codecs.compressing.CompressingTermVectorsWriter.merge(CompressingTermVectorsWriter.java:834)
org.apache.lucene.index.SegmentMerger.mergeVectors(SegmentMerger.java:224)
org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:158)
org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4443)
org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:4083)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...