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

Kenneth Knowles commented on BEAM-10295:
----------------------------------------

Hi [~davidak09]. Sorry this bug did not get much attention yet. I would 
actually characterize it as a significant loss of functionality that file based 
sink dynamic destinations does not really support writing to multiple storage 
destinations where "move" doesn't work. We either need a (more expensive) 
implementation of "move" or a workaround, or at least a clear error message in 
the case of HDFS.

> FileBasedSink: allow setting temp directory provider per dynamic destination
> ----------------------------------------------------------------------------
>
>                 Key: BEAM-10295
>                 URL: https://issues.apache.org/jira/browse/BEAM-10295
>             Project: Beam
>          Issue Type: Bug
>          Components: io-java-hadoop-file-system, sdk-java-core
>            Reporter: David Janicek
>            Priority: P1
>              Labels: Clarified
>
> Dynamic file destinations allow value-dependent writes in FileBasedSink. When 
> using hadoop file system this means user can write some values to destination 
> at *cluster-A* and some values to destination at *cluster-B*.
> Since BEAM-7613 was fixed this works fine until the *moveToOutputFiles* 
> method is called. This method internally calls *FileSystems.rename* which 
> obviously requires that source files (temporary files) and target files 
> (resolved by dynamic destination's function) are on the same cluster. But the 
> temp directory provider can be set only one per file sink.
> This could be fixed by adding some kind of *getTempDirectoryProvider* method 
> into dynamic destinations (e.g. into *DefaultFilenamePolicy.Params*).
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to