I upgraded lucene to 6.1.0, installed rocketstor 6318A driver, then used checkIndex to rescue index, but my program still crashed. I find that if just one computer builds index, everything is fine, but if I start second computer to build index, one of this two program will crash several hours later. these two computer mount the same directory of a macmini use nfs, but their index directory is different. It seems nfs is the problem.
On Thu, Jul 21, 2016 at 12:49 PM, Ziming Dong <dzm1016397...@gmail.com> wrote: > I upgrade lucene to 6.1.0, hope it works, thank you very much! > > the mount( contain all data directories and index directories ) is shared > by four different computers, but each index directory can be accessed only > by one computer, we have four index directories. > > 2016-07-21 5:13 GMT+08:00 Michael McCandless <luc...@mikemccandless.com>: > >> This means that something is flipping bits from when Lucene wrote this >> file, to when Lucene wanted to merge it. >> >> NFS is dangerous to use with Lucene: it doesn't support >> delete-on-final-close semantics, its client side directory listing caches >> can be stale, locking is iffy, etc. If you are using a single computer to >> both write and read to/from the index, then it should be OK, though not >> heavily tested, but if you share the mount across different computers >> taking turns doing indexing and searching, there will be problems. >> >> Finally, even if things are working OK over NFS, it will likely be very >> slow performance, compared to a local mount. >> >> All that being said, the known problems with NFS should not lead to this >> corruption, I think. Something else is wrong. Maybe run an fsck on the >> rocketsor disks? Maybe try eliminating variables, e.g. network card/cables >> between your macmini and the rocketstor, swap in different hard drives in >> the rocketstor, etc. Does the problem still happen with Lucene 6.1.0? >> >> Mike McCandless >> >> http://blog.mikemccandless.com >> >> On Wed, Jul 20, 2016 at 6:57 AM, 董自鸣 <dzm1016397...@gmail.com> wrote: >> >>> I use ubuntu to run lucene(java8, lucene6.0.0, not ES), and nfs to mount >>> disk(actually is rocketstor) of macmini. I get this error constantly. I >>> have already used org.apache.lucene.index.CheckIndex, but will still >>> crash >>> after restart program. >>> >>> >>> Exception in thread "main" >>> org.apache.lucene.store.AlreadyClosedException: >>> this IndexWriter is closed at >>> org.apache.lucene.index.IndexWriter.ensureOpen(IndexWriter.java:724) at >>> org.apache.lucene.index.IndexWriter.ensureOpen(IndexWriter.java:738) at >>> org.apache.lucene.index.IndexWriter.numDocs(IndexWriter.java:1198) at >>> xxxx.xxxxx.search.XxxxxxxxIndexer.close(XxxxxxxxIndexer.java:184) at >>> >>> xxxx.xxxxx.search.ThreadedXxxxxxxxIndexer.close(ThreadedXxxxxxxxIndexer.java:59) >>> at >>> >>> xxxx.xxxxx.search.ThreadedXxxxxxxxIndexer.main(ThreadedXxxxxxxxIndexer.java:136) >>> Caused by: org.apache.lucene.index.CorruptIndexException: checksum failed >>> (hardware problem?) : expected=51fbdb5c actual=6e964d17 >>> >>> (resource=BufferedChecksumIndexInput(MMapIndexInput(path="/mnt/HPT8_56T/xxxxxxxxx-index/index1/_mq.cfs") >>> [slice=_mq_Lucene50_0.pos])) at >>> org.apache.lucene.codecs.CodecUtil.checkFooter(CodecUtil.java:365) at >>> org.apache.lucene.codecs.CodecUtil.checksumEntireFile(CodecUtil.java:469) >>> at >>> >>> org.apache.lucene.codecs.lucene50.Lucene50PostingsReader.checkIntegrity(Lucene50PostingsReader.java:1286) >>> at >>> >>> org.apache.lucene.codecs.blocktree.BlockTreeTermsReader.checkIntegrity(BlockTreeTermsReader.java:336) >>> at >>> >>> org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$FieldsReader.checkIntegrity(PerFieldPostingsFormat.java:317) >>> at org.apache.lucene.codecs.FieldsConsumer.merge(FieldsConsumer.java:96) >>> at >>> org.apache.lucene.index.SegmentMerger.mergeTerms(SegmentMerger.java:211) >>> at >>> org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:96) at >>> org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4099) at >>> org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3679) at >>> >>> org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:588) >>> at >>> >>> org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:626) >>> >>> -- >>> *suiyuan* >>> >> >> > > > -- > *http://suiyuan2009.github.io/ <http://suiyuan2009.github.io/>* > *suiyuan2009* > -- Ziming Dong *http://suiyuan2009.github.io/ <http://suiyuan2009.github.io/>*