zoukankan      html  css  js  c++  java
  • lucene 异常 Lock obtain timed out 解决方法

    http://terje.blog.163.com/blog/static/119243712008102122316595/

     
     
    一般都是索引建立的过程中,不正常操作影响了IndexWriter正常使用,那么下次在使用这个IndexWriter就有这种问题了。最简单的方法,手动删掉文件锁,重新创建一个IndexWriter实例。或者在创建实例的时候删掉锁。
     经验,将保持的IndexWriter实例取出来(为提高效率,减少对磁盘的IO,管理了IndexWriter的实例),关闭后(异常之前建立的索引是没问题的,关闭是使他生效),重新构造一个实例。
     
    实战代码:

                                                    // org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: NativeFSLock@/data/index/ipsos/weibo24/cache/201209/write.lock
                                                    // 获取文件锁超时,IndexWriter关闭后,删掉锁,重新获取
                                                    if (e.getMessage().indexOf("Lock obtain timed out") != -1) {
                                                          LoggerUtil.debugTrace(bizTypeEnName, _objId + " IndexWriter{ " + indexFilePath + " }获取文件锁超时,IndexWriter关闭,等待重新获取");
                                                          if (!Validate.isEmpty(indexFilePath)) {
                                                                IndexWriter indexWriter = writerMap.get(indexFilePath);
                                                                LoggerUtil.debugTrace(bizTypeEnName, _objId + " IndexWriter{ " + indexFilePath + " }关闭开始,是否为空 " + (null == indexWriter));
                                                                if (null != indexWriter) {
                                                                      indexWriter.close();
                                                                      LoggerUtil.debugTrace(bizTypeEnName, _objId + " IndexWriter{ " + indexFilePath + " }关闭成功,等待重新获取已开始");
                                                                      indexWriter = null;
                                                                }
                                                          }
                                                    }

     
     
     
     
     

     
     
  • 相关阅读:
    每天一道leetcode 搜索旋转排序数组(二分法)
    每天一道leetcode 统计重复个数(循环节)
    python3 简单web目录扫描脚本(后续更新完整)
    每天一道leetcode 盛最多水的容器 (双指针)
    python3 语法学习 类和继承
    python3 语法学习 文件操作及os方法
    python3 语法学习 输入输出美观
    TCP/IP 协议:IP 协议
    TCP/IP 协议:链路层概述
    Http权威指南(二)---读书笔记
  • 原文地址:https://www.cnblogs.com/svennee/p/4080613.html
Copyright © 2011-2022 走看看