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

ASF GitHub Bot commented on LUCENE-1464:
----------------------------------------

Github user uschindler commented on the pull request:

    https://github.com/apache/lucenenet/pull/70#issuecomment-72822745
  
    Hi,
    I checked the Lucene Core 4.8 code. In fact it does not create the 
directory. The comment is just bogus. I removed it in Lucene 4.10: 
http://svn.apache.org/r1657033
    
    In Lucene 5, the move to Java NIO.2 now creates the direczory in the ctor. 
This is in my opinion wrong to do, so I started a discussion. In fact, Mike 
McCandless stated, that there was already a bug open about this: 
https://issues.apache.org/jira/browse/LUCENE-1464
    
    The thread is CC'ed to the dev@lucenenet list.


> FSDirectory.getDirectory always creates index path
> --------------------------------------------------
>
>                 Key: LUCENE-1464
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1464
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: core/store
>    Affects Versions: 2.4, 2.9
>            Reporter: Andrzej Bialecki 
>            Assignee: Michael McCandless
>             Fix For: 2.9
>
>         Attachments: LUCENE-1464.patch
>
>
> This was reported to me as a Luke bug, but going deeper it proved to be a 
> non-intuitive (broken?) behavior of FSDirectory.
> If you use FSDirectory.getDirectory(File nonexistent) on a nonexistent path, 
> but one that is located under some existing parent path, then FSDirectory:174 
> uses file.mkdirs() to create this directory. One would expect a variant of 
> the method with a boolean flag to decide whether or not to create the output 
> path. However, the API with "create" flag is now deprecated, with a comment 
> that points to IndexWriter's "create" flag. This comment is misleading, 
> because the indicated path is created anyway in the file system just by 
> calling FSDirectory.getDirectory().
> I propose to do one of the following:
> * reinstate the variant of the method with "create" flag. In case if this 
> flag is false, and the index directory is missing, either return null or 
> throw an IOException,
> * keep the API as it is now, but either return null or throw IOException if 
> the index dir is missing. This breaks the backwards compatibility, because 
> now users are required to do file.mkdirs() themselves prior to calling 
> FSDirectory.getDirectory().



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to