[ 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to