Return-Path: Delivered-To: apmail-lucene-java-user-archive@www.apache.org Received: (qmail 63435 invoked from network); 19 Jun 2009 09:21:44 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 19 Jun 2009 09:21:44 -0000 Received: (qmail 41816 invoked by uid 500); 19 Jun 2009 09:21:53 -0000 Delivered-To: apmail-lucene-java-user-archive@lucene.apache.org Received: (qmail 41746 invoked by uid 500); 19 Jun 2009 09:21:53 -0000 Mailing-List: contact java-user-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: java-user@lucene.apache.org Delivered-To: mailing list java-user@lucene.apache.org Received: (qmail 41736 invoked by uid 99); 19 Jun 2009 09:21:53 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Jun 2009 09:21:53 +0000 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [209.85.210.186] (HELO mail-yx0-f186.google.com) (209.85.210.186) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Jun 2009 09:21:44 +0000 Received: by yxe16 with SMTP id 16so187384yxe.29 for ; Fri, 19 Jun 2009 02:21:22 -0700 (PDT) MIME-Version: 1.0 Received: by 10.151.129.5 with SMTP id g5mr5376571ybn.84.1245403282045; Fri, 19 Jun 2009 02:21:22 -0700 (PDT) In-Reply-To: <4A3B3B04.1010700@ajlsm.com> References: <4A3B3B04.1010700@ajlsm.com> Date: Fri, 19 Jun 2009 05:21:22 -0400 Message-ID: <9ac0c6aa0906190221x60c659c8o7e4ee612641d1511@mail.gmail.com> Subject: Re: windows locking file problem From: Michael McCandless To: java-user@lucene.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org It's best to let IndexWriter manage the deletion of files (for exactly this reason). It turns out, it's perfectly fine to open an IndexWriter with "create=true" even when IndexReaders are reading that same index. Those open IndexReaders continue to search their point-in-time snapshot, and then when they reopen they'll switch to the "reset" index. So, assuming you have enough free disk space, you could leave your searcher open, create an IndexWriter with create=true, call addIndexesNoOptimize passing in your RAMDir (or, skip RAMDir and simply add your docs directly to this writer), then commit or close the writer and reopen the searcher. Because Lucene is transactional, and assuming you use autoCommit=false when opening the writer, you can make all of your index updates and the searcher, even if reopened, will see none of these changes, until you've called commit/close from the writer. Mike On Fri, Jun 19, 2009 at 3:15 AM, Malo Pichot wrote: > Hi, > > I know a similar subject has been discussed in this list and this is not > a "windows file system" list ;-) But may be someone have encountered the > "thing"... and perhaps solved it ! > > I have a web application that index many documents so I have a quite > large Lucene (2.2) index (~ 350 Mo) managed by a FSDirectory. The > indexation (I mean writing in indeces) is done by batches. Each batch > works first in a RAMDirectory, wich is merged with the main index in a > third one (a temporary FSDirectory). When the merge is done, the > application have to replace the main index (untouched until this time). > Here comes the problem ! To replace, the application close the searcher, > then the FSDirectory itself. After that, the application delete all > files of the main index and then copy all files of the temporary index > in place, before re-open the FSDirectory, generate searcher, etc. > > All that is good in Linux environment, and in Windows most of the time. > Yeap ! sometimes, windows FS refuses the deletion of the main index > files. Th only way I found to force windows FS unlocking those files is > to stop the servlets server (Tomcat). I can't shutdown Tomcat during the > indexation work. > > I don't know how to solved that :-( > > Does anyone get inspiration ? > > Malo > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org > For additional commands, e-mail: java-user-help@lucene.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org For additional commands, e-mail: java-user-help@lucene.apache.org