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

Uwe Schindler reassigned LUCENE-1885:
-------------------------------------

    Assignee: Uwe Schindler

I will solve this together with LUCENE-1877.

To test, if lock is obtained, you have to try locking and release the lock 
after that (if the lock was obtained):

{code}
  public synchronized boolean isLocked() {
    // the test for is isLocked is not directly possible with native file locks:
    
    // if we have a lock instance in this class, it is for sure locked:
    if (lockExists()) return true;
    
    // else try to obtain and release (if was locked) the lock to test
    try {
      boolean obtained = obtain();
      if (obtained) release();
      return !obtained;
    } catch (IOException ioe) {
      return false;
    }    
  }
{code}

The method lockExists contains the same like isLocked contained before and is 
used instead to check if a local lock instance is available (as quick 
break-out).

There is no patch as it is included in my work for 1877 and hard to unwire.

> NativeFSLockFactory.makeLock(...).isLocked() does not work
> ----------------------------------------------------------
>
>                 Key: LUCENE-1885
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1885
>             Project: Lucene - Java
>          Issue Type: Bug
>            Reporter: Uwe Schindler
>            Assignee: Uwe Schindler
>            Priority: Blocker
>             Fix For: 2.9
>
>
> IndexWriter.isLocked() or IndexReader.isLocked() do not work with 
> NativeFSLockFactory.
> The problem is, that the method NativeFSLock.isLocked() just checks if the 
> same lock instance was locked before (lock != null). If the LockFactory 
> created a new lock instance, this always returns false, even if its locked.

-- 
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