Solr SimplePostTool: IOException при чтении ответа: java.net.SocketException: неожиданный конец файла с сервера
Я пытаюсь проиндексировать большой файловый репозиторий (более 10000 документов каждого формата под солнцем) с помощью Simpleposttool (bin/post) в Solr 6.1.0. Он будет работать довольно долго без проблем, после чего произойдет сбой:
POSTing file ThingsGoingWellUpToHere.pdf (application/pdf) to [base]/extract
POSTing file EXAMPLE1.pdf (application/pdf) to [base]/extract
SimplePostTool: WARNING: IOException while reading response: java.net.SocketException: Unexpected end of file from server
POSTing file EXAMPLE2.pptx (application/vnd.openxmlformats-officedocument.presentationml.presentation) to [base]/extract
SimplePostTool: FATAL: Connection error (is Solr running at http://localhost:8983/solr/sample/update ?): java.net.ConnectException: Connection refused
В этот момент Solr тоже падает:
$ solr status
Found 1 Solr nodes:
Solr process 26499 from /opt/solr-6.1.0/bin/solr-8983.pid not found.
Я вынужден был solr restart
всякий раз, когда это происходит. Кто-нибудь еще сталкивался с подобной проблемой?
Быстрое замечание, если бы мне пришлось смириться с предположением, что это как-то связано с поврежденными файлами. Коллекция, с которой я работаю, составляет ~25 Гб и прошла через два слоя SCP на пятнистых соединениях. Если это так, я сам это закрою.
РЕДАКТИРОВАТЬ: Попытка публикации отдельных документов, на которых SimplePostTool не удалось, и они прошли хорошо, так что вряд ли это проблема коррупции. Поиски продолжаются...
1 ответ
Это была проблема памяти. Если вы видите эту ошибку, предположим, что вы не выделили достаточно памяти для вашего экземпляра Solr. Просто ударь это -Xmx
флаг при использовании solr start
,