[
https://issues.apache.org/jira/browse/HDFS-4213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13505176#comment-13505176
]
Jing Zhao commented on HDFS-4213:
---------------------------------
Thanks for the comments Aaron and Nicholas! For DFSClient#flushOrSync, I
actually should place "lastBlockLength = this.streamer.block.getNumBytes();"
after the waitForAckedSeqno() call. I think this should be able to avoid the
NPE and and derive the correct result (passed the modified TestHFlush locally).
But will re-check that later.
I will also address the rename comments (UPDATE_LENGTH and SyncFlag). For the
interface part, I agree with Nicholas: seems the update-length feature should
be specific to HDFS thus may not be suitable to be put in the Syncable
interface and the FSDataOutputStream class?
> When the client calls hsync, allows the client to update the file length in
> the NameNode
> ----------------------------------------------------------------------------------------
>
> Key: HDFS-4213
> URL: https://issues.apache.org/jira/browse/HDFS-4213
> Project: Hadoop HDFS
> Issue Type: New Feature
> Affects Versions: 3.0.0
> Reporter: Jing Zhao
> Assignee: Jing Zhao
> Attachments: HDFS-4213.001.patch, HDFS-4213.002.patch,
> HDFS-4213.003.patch, HDFS-4213.004.patch, HDFS-4213.005.patch,
> HDFS-4213.006.patch
>
>
> As per discussion in HDFS-3960 and HDFS-2802, when clients that need strong
> consistency update the file length at the NameNode, a special sync/flush is
> required for getting the length of the being written files when snapshots are
> taken for these files. This jira implements this sync-with-updating-length by
> 1) calling ClientProtocol#fsync(), and 2) adding a new field to
> ClientProtocol#fsync() to indicate the length information.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira