【问题标题】:Compass Lucene indexing PhantomReadLock errorCompass Lucene 索引 PhantomReadLock 错误
【发布时间】:2011-03-22 13:12:56
【问题描述】:

我使用 MySQL 存储 Compass 索引,Tomcat 在 RHEL 上,但是当我关闭 Tomcat 并重新启动索引进程时,索引时抛出此错误,并且索引失败:

PhantomReadLock 无法获取锁,write.lock/customer-index

可能是因为我关闭了Tomcat,Compass出现了这个错误?经过大量谷歌搜索,我发现我需要手动删除 write.lock 文件,但在我的 Tomcat 临时文件夹中的任何地方都找不到锁定文件。我确实在 MySQL 的客户索引表中获得了一条 write.lock 记录,因此我删除了该行,Compass 开始正确索引,并且不再发生 PhantomReadLock 错误。

我只是想澄清一下——这是解决这个 write.lock 问题的正确方法,还是在关闭 Tomcat 时我需要做其他事情来删除锁?

【问题讨论】:

    标签: mysql tomcat lucene compass-lucene


    【解决方案1】:

    我在使用 Tomcat 时遇到了同样的问题,我找到了这篇文章:http://docs.ngdata.com/daisy-kb/443-daisy.html

    我学到的是,如果你只是在关闭 Tomcat 时杀死它(在 Eclipse 中,你可以“正确”或不这样做),write.lock 仍然存在,而如果你关闭它使用shutdown.sh/bat脚本关闭,文件被删除,下次重启就干净了。

    尽管这是一个老问题,但我希望它可以帮助任何偶然发现它的人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多