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

Young Lee commented on HDFS-6109:
---------------------------------

[~xieliang007] I was going over the impact of enabling the 
'dfs.datanode.sync.behind.writes.in.background' flag and thought about 
conditions under sync_file_range with SYNC_FILE_RANGE_WRITE might block.  The 
sync_file_range man page says exactly what you alluded to in the ticket 
description:

       SYNC_FILE_RANGE_WRITE
              Initiate write-out of all dirty pages in the specified range
              which are not presently submitted write-out.  Note that even
              this may block if you attempt to write more than request queue
              size.

Would u please elaborate on the conditions where sync_file_range was blocking.  
What were the memory, disk, number and size of the regions on the region 
server, etc.  I want to understand the signs to look for before enabling the 
'dfs.datanode.sync.behind.writes.in.background'  flag.

Thanx,

- Young


> let sync_file_range() system call run in background
> ---------------------------------------------------
>
>                 Key: HDFS-6109
>                 URL: https://issues.apache.org/jira/browse/HDFS-6109
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: datanode
>    Affects Versions: 3.0.0, 2.3.0
>            Reporter: Liang Xie
>            Assignee: Liang Xie
>             Fix For: 2.5.0
>
>         Attachments: HDFS-6109-v2.txt, HDFS-6109-v3.txt, HDFS-6109-v4.txt, 
> HDFS-6109.txt
>
>
> Through we passed SYNC_FILE_RANGE_WRITE to sync_file_range, to make it as 
> asynchronous as possible, it still could be blocked, e.g. the os io request 
> queue is full.
> Since we use sync_file_range just as a page cache advisor role:) it doesn't 
> decide or guarantee the real durability, it would be nice if we could run it 
> in  backgroud. At least my test log showed, a few sync_file_range calls still 
> cost tens of ms or more, due to the happened location is in the critical 
> write path(BlockReceiver class), from a upper view, like HBase application, 
> will "hung" tens of ms as well during Hlog syncing.
> Generally speaking, the patch could not improve too much, but, better than 
> before, right ? :)



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

Reply via email to