[ https://issues.apache.org/jira/browse/LUCENE-1347?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12618390#action_12618390 ]
Yonik Seeley commented on LUCENE-1347: -------------------------------------- Yep... the success flag ensures that closing=false is only done once. > IndexWriter.rollback can hang if a previous call hit an exception > ----------------------------------------------------------------- > > Key: LUCENE-1347 > URL: https://issues.apache.org/jira/browse/LUCENE-1347 > 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.3.2, 2.4 > > Attachments: LUCENE-1347.patch, LUCENE-1347.patch > > > IW.rollback has logic to make sure only one thread actually gets to do > the rollback whenever multiple threads are calling it at the same > time, by setting the "boolean closing" to true in the thread that got > there first. > Other threads wait for that variable to become false again before > returning from abort. > But, we are not restoring closing to false in a try/finally in > rollback(), which means on hitting an exception in rollback, a > subsequent call to rollback() will hang forever. > close() has the same logic, but there is already a try/finally there > to restore closing to false on exception. > The fix is straightforward. -- 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]