[ http://issues.apache.org/jira/browse/LUCENE-485?page=all ]
Luc Vanlerberghe updated LUCENE-485:
------------------------------------
Attachment: LUCENE-485.patch
This patch moves the calls to deleteFiles and deleteSegments outside of the
blocks protected by a COMMIT lock.
Since only one process can have the WRITE lock this extra locking is not
necessary for those calls and the COMMIT lock is available for other processes
faster.
> 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
> 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]