Solr Searcher OOM, но не обрабатывает sh сервис и не перезапускает - PullRequest
1 голос
/ 06 апреля 2020

В настоящее время у нас есть индекс solr с прибл. 20 000 000 документов, выполняется несколько запросов и json фасетов.

Иногда он работает стабильно в течение месяца, но время от времени Solr перестает работать. Насколько мне известно, это из-за того, что Solr переворачивает поле для выполнения огранки (частичная ошибка ниже). В приложении имеется около 30 полей с огранкой, трудно найти виновного.

Вопрос : Сервис Solr не обрабатывает sh, только запросы к поисковику. (это затрудняет перезапуск, что, по-моему, должно происходить автоматически из-за -XX: OnOutOfMemoryError) Как сохранить работоспособность Solr или получить надежный способ его перезапуска? (мое предположение OOM ловится где-то в Solr) Я нахожусь в процессе запроса дополнительной памяти, чтобы увеличить xmx еще больше. Я также расскажу об использовании DocValues, которые, похоже, уменьшают объем памяти.

Ошибка ниже :

o.a.s.s.SolrDispatchFilter null:java.lang.RuntimeException: java.lang.OutOfMemoryError: Java heap space
...
Caused by: java.lang.OutOfMemoryError: Java heap space
    at org.apache.lucene.uninverting.DocTermOrds.uninvert(DocTermOrds.java:289)

Дополнительная информация :

  • Версия Solr: 5.3.1
  • Настройки памяти: Xmx: 4000m
  • Общий объем доступной памяти: 9900 МБ (при запуске Solr показывает VIRT 40.2G RES 4421M SHR 348M)
  • Autocommit имеет openSearcher = false, а поиск использует autoSoftCommit.
  • Запросы используют https://lucene.apache.org/solr/guide/8_0/other-parsers.html#block -join-parent-query-parser
  • Запросы выпускаются с SolrJ
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...