You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Uwe Schindler (JIRA)" <ji...@apache.org> on 2009/09/02 15:10:32 UTC

[jira] Commented: (LUCENE-1877) Use NativeFSLockFactory as default for new API (direct ctors & FSDir.open)

    [ https://issues.apache.org/jira/browse/LUCENE-1877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12750425#action_12750425 ] 

Uwe Schindler commented on LUCENE-1877:
---------------------------------------

bq. I think we should also fix NativeLockFactory so that if the write lock is in the index dir it doesn't generate the large digest in the file name. That digest is problematic when two different machines access the same physical dir via different mount names, since that results in different lock file names. 

The digest problem is not easy to solve: It happens for all LockFactories if they are not automatically created (when LockFactory==null). As soon as you cann FSDir.open(..., new SimpleLockFactory(...)) you also get these prefix. It does not appear, when the FSDir is created by FSDir.getDirectory(), as the init() method cleans the lockPrefix directly after setting the lockfactory (the lock factory setter sets the prefix).

The prefix is only important, if the lock is not placed inside the index directory. The best would be that FSDir would simply return null in getLockId, when the LockFactory uses the same path as the Directory. For that to work, the LockFactory should have a getter for the fs path.

I will try some possibilities and post a patch.

> Use NativeFSLockFactory as default for new API (direct ctors & FSDir.open)
> --------------------------------------------------------------------------
>
>                 Key: LUCENE-1877
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1877
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Javadocs
>            Reporter: Mark Miller
>            Priority: Trivial
>             Fix For: 2.9
>
>         Attachments: LUCENE-1877.patch
>
>
> A user requested we add a note in IndexWriter alerting the availability of NativeFSLockFactory (allowing you to avoid retaining locks on abnormal jvm exit). Seems reasonable to me - we want users to be able to easily stumble upon this class. The below code looks like a good spot to add a note - could also improve whats there a bit - opening an IndexWriter does not necessarily create a lock file - that would depend on the LockFactory used.
> {code}  <p>Opening an <code>IndexWriter</code> creates a lock file for the directory in use. Trying to open
>   another <code>IndexWriter</code> on the same directory will lead to a
>   {@link LockObtainFailedException}. The {@link LockObtainFailedException}
>   is also thrown if an IndexReader on the same directory is used to delete documents
>   from the index.</p>{code}
> Anyone remember why NativeFSLockFactory is not the default over SimpleFSLockFactory?

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