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

Robert Muir commented on LUCENE-6146:
-------------------------------------

Sorry, i am just unhappy thinking about optimizations when we have these bugs 
in the directory API. 

I am ok with a one-liner to warn there. But honestly this method is still not 
going to work well for "subclassing" anyway. Its almost pointless to optimize 
the impls because something like a FilterDirectory will easily wipe away the 
optimization. 

An alternative solution would be a method on Directory to optionally return a 
Path for a filename, or some abstraction like a "handle", but i hate 
overengineering it. 

> Directory.copy -> Directory.copyFrom
> ------------------------------------
>
>                 Key: LUCENE-6146
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6146
>             Project: Lucene - Core
>          Issue Type: Task
>          Components: core/store
>            Reporter: Robert Muir
>             Fix For: 5.0, Trunk
>
>         Attachments: LUCENE-6146.patch
>
>
> Spinoff of LUCENE-4746.
> This method is currently:
> {code}
> copy(Directory to, String src, String dest, IOContext context)
> {code}
> But it would be better to restructure this so the destination directory is 
> the one actually being changed by the operation:
> {code}
> copyFrom(Directory from, String src, String dest, IOContext context)
> {code}
> Besides fixing the order to make sense, adding it to the name might help 
> prevent bugs like the current TrackingDirectoryWrapper impl (used by 
> IndexWriter to track what files are used):
> {code}
> public void copy(Directory to, String src, String dest, IOContext context) 
> throws IOException {
>   createdFileNames.add(dest); // BUG!
>   in.copy(to, src, dest, context);
> }
> {code}



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