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.1, 2.3
Reporter: Michael McCandless
Assignee: Michael McCandless
Priority: Minor
Fix For: 2.3.2, 2.4
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]