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

Jan Kunigk commented on HDFS-4089:
----------------------------------

Hi Todd, sorry the lag in my replies. I think we can improve the naming at 
least.
1) I would rename the variable from SyncBehindWrites to WriteOutDirtyOSPages. 
Sync is misleading, since, even though the syscall is named sync_file_range, 
the flags that it is used with here do not entail sync semantics, i.e. a 
synchronous, i.e. blocking operation.
2) I think we should mark the appropriate section in DFSConfigKeys.java as 
"performance related"

This is more an issue of hygiene and, after your explanations, no longer a 
concern w/r to data integrity. Thanks. 


                
> 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