art4ul opened a new pull request #6608: [FLINK-10203]Support truncate method 
for old Hadoop versions in HadoopRecoverableFsDataOutputStream
URL: https://github.com/apache/flink/pull/6608
 
 
   ## What is the purpose of the change
   
   New StreamingFileSink ( introduced in 1.6 Flink version ) use 
HadoopRecoverableFsDataOutputStream wrapper to write data in HDFS.
   
   HadoopRecoverableFsDataOutputStream is an wrapper on FSDataOutputStream to 
have an ability to restore from certain point of file after failure and 
continue write data. To achive this recover functionality the 
HadoopRecoverableFsDataOutputStream use "truncate" method which was introduced 
only in Hadoop 2.7 .
   
   Unfortently there are a few official Hadoop distibutives which latast 
version still use Hadoop 2.6 (This distibutives: Cloudera, Pivotal HD ). As the 
result Flink can't work with this distibutives.
   
   Flink declares that supported Hadoop from version 2.4.0 upwards 
(https://ci.apache.org/projects/flink/flink-docs-release-1.6/start/building.html#hadoop-versions)
   
   I guess we should emulate the functionality of "truncate" method for older 
Hadoop versions.
   
   This is possible fix . I would like to start discussion here. 
   The fix of this issue is vital for us as Hadoop 2.6 users.
   
   ## Brief change log
   
     - Add new abstraction TruncateManager
     - Add Implementation for old Hadoop version ( LegacyTruncateManager)
     - Add Implementation for Hadoop 2.7 and upwards
   
   
   ## Verifying this change
   
   This change contains only possible solution but currently without any test 
coverage.
   Tests will be added after final consensus about implementation .
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): (no)
     - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: (no)
     - The serializers: ( no)
     - The runtime per-record code paths (performance sensitive): (don't know)
     - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes)
     - The S3 file system connector: ( no)
   
   ## Documentation
   
     - Does this pull request introduce a new feature? (no, but I think it 
should be documented)
     - If yes, how is the feature documented? (not documented yet)
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to