You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Hoss Man (JIRA)" <ji...@apache.org> on 2006/09/20 23:21:23 UTC

[jira] Commented: (LUCENE-674) Error in FSDirectory if java.io.tmpdir incorrectly specified

    [ http://issues.apache.org/jira/browse/LUCENE-674?page=comments#action_12436351 ] 
            
Hoss Man commented on LUCENE-674:
---------------------------------

This sounds like a very similar issue to some past discussion about the path specified when opening a directory, and what to do if it doesn't exist (ie: create it, or throw an error) ... in general i think it would be unadvisable to assume that if java.io.tmpdir refers to a bogus directory that we should use the index directory, because that could lead to situations were typo result in errors silently being ignored to the possible extend of index corruption.

(consider for a moment: two lucene based apps running in two seperate JVM instances on the same machine, attempting to use hte same index directory; one with a properly set java.io.tmpdir and one without -- they will most likely crash hard because they would wilently use completley differnet directories for managing locks).

As with the discussion about index directories that don't exist, applications that *want* to silenetly assume that a bogus java.io.tmpdir property should result in using the index directory for lock files can get that behavior if they want (by testing java.io.tmpdir themselves, and explicitly constructing a SimpleFSLockFactory() on the directory they want to use) but Lucene should not make any assumptions about what the client application wants in the case of garbage input.

> Error in FSDirectory if java.io.tmpdir incorrectly specified
> ------------------------------------------------------------
>
>                 Key: LUCENE-674
>                 URL: http://issues.apache.org/jira/browse/LUCENE-674
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 2.0.0
>         Environment: Reported on a Linux system under Tomcat
>            Reporter: Ryan Holliday
>
> A user of the JAMWiki project (http://jamwiki.org/) reported an error with the following stack trace:
> SEVERE: Unable to create search instance /usr/share/tomcat5/webapps/jamwiki-0.3.4-beta7/test/base/search/indexen
> java.io.IOException: Cannot create directory: /temp
>         at org.apache.lucene.store.FSDirectory.init(FSDirectory.java:171)
>         at org.apache.lucene.store.FSDirectory.getDirectory(FSDirectory.java:141)
>         at org.apache.lucene.store.FSDirectory.getDirectory(FSDirectory.java:117)
>         at org.jamwiki.search.LuceneSearchEngine.getSearchIndexPath(LuceneSearchEngine.java:318)
> The culprit is that the java.io.tmpdir property was incorrectly specified on the user's system.  Lucene could easily handle this issue by modifying the FSDirectory.init() method.  Currently the code uses the index directory if java.io.tmpdir and org.apache.lucene.lockDir are unspecified, but it could use that directory if those values are unspecified OR if they are invalid.  Doing so would make Lucene a bit more robust without breaking any existing installations.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org