[ https://issues.apache.org/jira/browse/HDFS-4089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13480422#comment-13480422 ]
Todd Lipcon commented on HDFS-4089: ----------------------------------- Hi Jan. The purpose of this flag isn't for data integrity -- it's to avoid lumpy IO writeback. If you want data integrity you should be using the hsync() call after every write. > SyncBehindWrites uses wrong flags on sync_file_range > ---------------------------------------------------- > > Key: HDFS-4089 > URL: https://issues.apache.org/jira/browse/HDFS-4089 > Project: Hadoop HDFS > Issue Type: Bug > Components: data-node, ha > Reporter: Jan Kunigk > Priority: Minor > Attachments: syncBehindWrites.patch > > > Hi, I stumbled upon this while trying to understand the append design > recently. I am assuming when SyncBehindWrites is enabled we do indeed want to > do a complete sync after each write. In that case the implementation seems > wrong to me. > Here's a comment from the manpage of sync_file_range on the usage of the > SYNC_FILE_RANGE_WRITE flag in solitude: "This is an asynchronous > flush-to-disk operation. This is not suitable for data integrity operations." > I don't know why this syscall is invoked here instead of just fsync -- 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