[ 
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

Reply via email to