[ 
https://issues.apache.org/jira/browse/LUCENE-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shai Erera updated LUCENE-2104:
-------------------------------

    Attachment: LUCENE-2104.patch

Changed NativeFSLock.release() to first obtain and then release the lock, if 
it's not held. That way, if obtain fails, LockReleaseFailedException is thrown, 
to indicate that.

> IndexWriter.unlock does does nothing if NativeFSLockFactory is used
> -------------------------------------------------------------------
>
>                 Key: LUCENE-2104
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2104
>             Project: Lucene - Java
>          Issue Type: Bug
>            Reporter: Shai Erera
>             Fix For: 3.1
>
>         Attachments: LUCENE-2104.patch, LUCENE-2104.patch
>
>
> If NativeFSLockFactory is used, IndexWriter.unlock will return, silently 
> doing nothing. The reason is that NativeFSLockFactory's makeLock always 
> creates a new NativeFSLock. NativeFSLock's release first checks if its lock 
> is not null. However, only if obtain() is called, that lock is not null. So 
> release actually does nothing, and so IndexWriter.unlock does not delete the 
> lock, or fail w/ exception.
> This is only a problem in NativeFSLock, and not in other Lock 
> implementations, at least as I was able to see.
> Need to think first how to reproduce in a test, and then fix it. I'll work on 
> it.

-- 
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: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to