lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <j...@apache.org>
Subject [jira] Assigned: (LUCENE-1885) NativeFSLockFactory.makeLock(...).isLocked() does not work
Date Wed, 02 Sep 2009 17:06:32 GMT

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


Mime
View raw message