lucene建索引时的一个"Can't rename segments.new to segments"异常的原因

来源:互联网 发布:阿里云幕布图片 编辑:程序博客网 时间:2024/05/21 02:49
这两天在用lucene对一批数据建立索引,但是当索引建立到一定数量之后,总是会出现一个IO异常:Cannot rename segments.new to segments。而且这个异常出现的时机并没有什么规律。在网上找来找去只发现国外有个人说可能是“某些版本的JVM在windows XP上的bug”造成的。于是跟猴哥在不同的机器上去试着跑这个程序。只有一台据说装的是没有做任何update的windows XP SP2的机器上能跑成功,当时我们俩就觉得这个异常很有可能跟系统有关。于是几乎放弃了努力。

今天重新改写了程序,用了更为稳妥的方式,但是这个异常依然出现。实在受不了了,便耐心的多翻了几页google的搜索结果,终于在一个不起眼的帖子里看到了这样一条回帖:“ 关掉杀毒软件,就可以了”,简洁而有力啊!!

立即按照这个去做,停用卡巴,再次运行,果不其然,程序一切正常了!

我们粗略的分析了一下,应该是杀毒软件不断的通过文件的钩子去扫描文件,检测病毒,而这恰恰与lucene的更名操作形成了冲突,于是发生了异常!

不知道有没有朋友知道具体详细的原因,请不吝赐教啊!!

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1526945