[ 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