Issue Details (XML | Word | Printable)

Key: LUCENE-1164
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Minor Minor
Assignee: Michael McCandless
Reporter: Michael McCandless
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Lucene - Java

Improve how ConcurrentMergeScheduler handles too-many-merges case

Created: 05/Feb/08 06:45 PM   Updated: 11/Oct/08 12:49 PM
Return to search
Component/s: Index
Affects Version/s: 2.3
Fix Version/s: 2.4

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works LUCENE-1164.patch 2008-02-05 06:46 PM Michael McCandless 4 kB

Lucene Fields: New
Resolution Date: 08/Feb/08 02:02 PM


 Description  « Hide
CMS now lets you set "maxMergeThreads" to control max # simultaneous
merges.

However, when CMS hits that max, it still allows further merges to
run, by running them in the foreground thread. So if you set this max
to 1, and use 1 thread to add docs, you can get 2 merges running at
once (which I think is broken).

I think, instead, CMS should pause the foreground thread, waiting
until the number of merge threads drops below the limit. Then, kick
off the backlog merge in a thread and return control back to primary
thread.



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Michael McCandless added a comment - 05/Feb/08 06:46 PM
Attached patch. I plan to commit in a day or two...