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

Jing Zhao commented on HDFS-3689:
---------------------------------

Sure. Currently the patch includes the following changes:
# Add a new append2 API which always appends new data to a new block, and thus 
the previous last block becomes a block with variable length. Some unit tests 
are added to make sure the appended file can still be read/pread by the current 
DFSInputStream.
# Add support in DFSOutputStream to let clients specify when to allocate a new 
block. The patch simply adds a new SyncFlag named END_BLOCK. Clients can call 
hsync(END_BLOCK) to force the completion of the current block.
# Loose the restriction of concat. The current concat has the following 
restrictions:
- The src files and the target file must be in the same directory and cannot be 
empty
- The target file and all but the last src files cannot have partial block
- The src files and the target file must share the same replication factor and 
preferred block size
- The src files and the target file cannot be in any snapshot

The current patch makes the following changes which I think needs further 
discussion and confirmation:
- The src files and the target file do not need to be in the same directory
- The src files and the target file can have partial blocks
- The src/target files may have different preferred block size and replication 
factor, and after the concat the target file keeps its original setting
- The src files still cannot be included in any snapshot (see HDFS-4529 for 
details), but the target file can be in a snapshot

> Add support for variable length block
> -------------------------------------
>
>                 Key: HDFS-3689
>                 URL: https://issues.apache.org/jira/browse/HDFS-3689
>             Project: Hadoop HDFS
>          Issue Type: New Feature
>          Components: datanode, hdfs-client, namenode
>    Affects Versions: 3.0.0
>            Reporter: Suresh Srinivas
>            Assignee: Jing Zhao
>         Attachments: HDFS-3689.000.patch, HDFS-3689.001.patch, 
> HDFS-3689.002.patch, HDFS-3689.003.patch, HDFS-3689.003.patch, 
> HDFS-3689.004.patch
>
>
> Currently HDFS supports fixed length blocks. Supporting variable length block 
> will allow new use cases and features to be built on top of HDFS. 



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

Reply via email to