[ https://issues.apache.org/jira/browse/LUCENE-1200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hoss Man updated LUCENE-1200: ----------------------------- Fix Version/s: 2.3.2 targeted for 2.3.2 bug fix release > IndexWriter.addIndexes* can deadlock in rare cases > -------------------------------------------------- > > Key: LUCENE-1200 > URL: https://issues.apache.org/jira/browse/LUCENE-1200 > Project: Lucene - Java > Issue Type: Bug > Components: Index > Affects Versions: 2.4 > Reporter: Michael McCandless > Assignee: Michael McCandless > Priority: Minor > Fix For: 2.3.2, 2.4 > > Attachments: LUCENE-1200.patch > > > In somewhat rare cases it's possible for addIndexes to deadlock > because it is a synchronized method. > Normally the merges that are necessary for addIndexes are done > serially (with the primary thread) because they involve segments from > an external directory. However, if mergeFactor of these merges > complete then a merge becomes necessary for the merged segments, which > are not external, and so it can run in the background. If too many BG > threads need to run (currently > 4) then the "pause primary thread" > approach adopted in LUCENE-1164 will deadlock, because the addIndexes > method is holding a lock on IndexWriter. > This was appearing as a intermittant deadlock in the > TestIndexWriterMerging test case. > This issue is not present in 2.3 (it was caused by LUCENE-1164). > The solution is to shrink the scope of synchronization: don't > synchronize on the whole method & wrap synchronized(this) in the right > places inside the methods. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]