[
https://issues.apache.org/jira/browse/LUCENE-2476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12871217#action_12871217
]
Michael McCandless commented on LUCENE-2476:
--------------------------------------------
bq. I tried both IndexWriter#unlock and
Directory#cleanLock(IndexWriter.WRITE_LOCK_NAME) but non of those removed the
entry from LOCK_HELD HashSet. It was unchanged.
Ahh, sorry, I think you are hitting LUCENE-2104.
> Constructor of IndexWriter let's runtime exceptions pop up, while keeping the
> writeLock obtained
> ------------------------------------------------------------------------------------------------
>
> Key: LUCENE-2476
> URL: https://issues.apache.org/jira/browse/LUCENE-2476
> Project: Lucene - Java
> Issue Type: Bug
> Components: Store
> Affects Versions: 3.0.1
> Reporter: Cservenak, Tamas
> Assignee: Michael McCandless
> Priority: Blocker
> Fix For: 3.1, 4.0
>
> Attachments: LUCENE-2476.patch
>
>
> Constructor of IndexWriter let's runtime exceptions pop up, while keeping the
> writeLock obtained.
> The init method in IndexWriter catches IOException only (I got
> NegativeArraySize by reading up a _corrupt_ index), and now, there is no way
> to recover, since the writeLock will be kept obtained. Moreover, I don't have
> IndexWriter instance either, to "grab" the lock somehow, since the init()
> method is called from IndexWriter constructor.
> Either broaden the catch to all exceptions, or at least provide some
> circumvention to clear up. In my case, I'd like to "fallback", just delete
> the corrupted index from disk and recreate it, but it is impossible, since
> the LOCK_HELD NativeFSLockFactory's entry about obtained WriteLock is _never_
> cleaned out and is no (at least apparent) way to clean it out forcibly. I
> can't create new IndexWriter, since it will always fail with
> LockObtainFailedException.
--
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]