[ https://issues.apache.org/jira/browse/LUCENE-1335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12620713#action_12620713 ]
Yonik Seeley commented on LUCENE-1335: -------------------------------------- I've just started reviewing this patch. Since doWait() can return after 1 sec, the pattern is to use a while loop with the condition that caused it to be called. But in some cases, it's hard to tell if the code is correct.... for example copyExternalSegments() is hard because of the other non-trival code code in the loop where it's not clear if it's safe/correct to call that code again. Perhaps registerMerge() detects the conflict with another merge with the same segments and that's what keeps things correct? Comments to the effect of why it's OK to run certain code more than once would be very welcome. > Correctly handle concurrent calls to addIndexes, optimize, commit > ----------------------------------------------------------------- > > Key: LUCENE-1335 > URL: https://issues.apache.org/jira/browse/LUCENE-1335 > Project: Lucene - Java > Issue Type: Bug > Components: Index > Affects Versions: 2.3, 2.3.1 > Reporter: Michael McCandless > Assignee: Michael McCandless > Priority: Minor > Fix For: 2.4 > > Attachments: LUCENE-1335.patch > > > Spinoff from here: > > http://mail-archives.apache.org/mod_mbox/lucene-java-dev/200807.mbox/[EMAIL > PROTECTED] -- 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]