[ 
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]

Reply via email to