Компас Lucene, индексирующий ошибку PhantomReadLock - PullRequest
1 голос
/ 22 марта 2011

Я использую MySQL для хранения индексов Compass с Tomcat на RHEL, но когда я закрываю Tomcat и перезапускаю свой процесс индексации, эта ошибка выдается во время индексирования и происходит сбой индексации:

PhantomReadLock не может получить блокировку, write.lock / customer-index

Может быть, из-за того, что я выключил Tomcat, эта ошибка возникает в Compass? После долгих поисков я обнаружил, что мне нужно вручную удалить файл write.lock, но я не смог найти файл блокировки нигде в моей временной папке Tomcat. Я получил запись с write.lock в своей таблице индексов клиентов в MySQL, поэтому удалил эту строку, и Compass начал индексирование должным образом, и ошибка PhantomReadLock больше не возникает.

Я просто хочу уточнить - это правильный способ решения этой проблемы write.lock или мне нужно сделать что-то еще, чтобы удалить блокировку при выключении Tomcat?

1 Ответ

1 голос
/ 08 февраля 2013

У меня была такая же проблема при использовании Tomcat, и я нашел эту статью: http://docs.ngdata.com/daisy-kb/443-daisy.html.

Что я узнал, так это то, что если вы просто убиваете Tomcat, когда выключаете его (в eclipse вы можете делать это «правильно» или нет), write.lock остается там, тогда как если вы выключаете его используя скрипт shutdown.sh/bat, файл удаляется, и при следующем перезапуске все чисто.

Несмотря на то, что это старый вопрос, я надеюсь, что он поможет любому найти его случайно.

...