[ http://issues.apache.org/jira/browse/LUCENE-485?page=all ] Doug Cutting resolved LUCENE-485: ---------------------------------
Fix Version: 2.0 Resolution: Fixed I committed this. Thanks, Luc! > IndexWriter.mergeSegments should not hold the commit lock while cleaning up. > ---------------------------------------------------------------------------- > > Key: LUCENE-485 > URL: http://issues.apache.org/jira/browse/LUCENE-485 > Project: Lucene - Java > Type: Improvement > Components: Index > Versions: CVS Nightly - Specify date in submission > Environment: checked in revision 367361 > Reporter: Luc Vanlerberghe > Fix For: 2.0.0 > Attachments: LUCENE-485.patch > > Same happens in IndexWriter.addIndexes(IndexReader[] readers). > The commit lock should be obtained whenever the Index structure/version is > read or written. It should be kept for as short a period as possible. > The write lock is needed to make sure only one IndexWriter or IndexReader > instance can update the index (multiple IndexReaders can of course use the > index for searching). > The list of files that can be deleted is stored in the file "deletable". It > is only read or written by the IndexWriter instance that holds the write > lock, so there's no need to have the commit lock to to update it. > On my production system deleting the obsolete segment files after a > mergeSegments() happens can occasionally take several seconds(!) and the > commit lock blocks the searcher machines from updating their IndexReader > instance. > Even on a standalone machine, the time to update the segments file is about > 3ms, the time to delete the obsolete segments about 30ms. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]