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;
                                                                }
                                                          }
                                                    }

     
     
     
     
     

     
     
  • 相关阅读:
    Android 下载资源后刷新的方法,相关文章
    【Android】SDK和API Level版本的对应关系
    Android微信分享报错
    细解android之图片下载(无任何框架)
    约束布局ConstraintLayout
    Android 学习资料
    Android 相关库、工具
    Android 常见报错及解决
    Kotlin 学习资料
    Vue3.0 新特性以及使用经验总结
  • 原文地址:https://www.cnblogs.com/svennee/p/4080613.html
Copyright © 2011-2022 走看看