[ 
https://issues.apache.org/jira/browse/LUCENE-5544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13942805#comment-13942805
 ] 

Robert Muir commented on LUCENE-5544:
-------------------------------------

You can definitely call it multiple times, and some tests in fact do just that. 
Thats why IOUtils.close() is used, which does nothing on a null parameter.

> exceptions during IW.rollback can leak files and locks
> ------------------------------------------------------
>
>                 Key: LUCENE-5544
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5544
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Robert Muir
>             Fix For: 4.8, 5.0, 4.7.1
>
>         Attachments: LUCENE-5544.patch
>
>
> Today, rollback() doesn't always succeed: if it does, it closes the writer 
> nicely. otherwise, if it hits exception, it leaves you with a half-broken 
> writer, still potentially holding file handles and write lock.
> This is especially bad if you use Native locks, because you are kind of 
> hosed, the static map prevents you from forcefully unlocking (e.g. 
> IndexWriter.unlock) so you have no real course of action to try to recover.
> If rollback() hits exception, it should still deliver the exception, but 
> release things (e.g. like IOUtils.close).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to