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

Haohui Mai commented on HDFS-7291:
----------------------------------

{code}
   THROW(env, "java/io/IOException",
-      "The function copyFileUnbuffered() is not supported on FreeBSD or Mac 
OS");
{code}

It might make more sense to throw a {{UnsupportedOperationException}}.

> Persist in-memory replicas with appropriate unbuffered copy API on POSIX and 
> Windows
> ------------------------------------------------------------------------------------
>
>                 Key: HDFS-7291
>                 URL: https://issues.apache.org/jira/browse/HDFS-7291
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode
>    Affects Versions: 2.6.0
>            Reporter: Xiaoyu Yao
>            Assignee: Xiaoyu Yao
>         Attachments: HDFS-7291.0.patch, HDFS-7291.1.patch, HDFS-7291.2.patch, 
> HDFS-7291.3.patch
>
>
> HDFS-7090 changes to persist in-memory replicas using unbuffered IO on Linux 
> and Windows. On Linux distribution, it relies on the sendfile() API between 
> two file descriptors to achieve unbuffered IO copy. According to Linux 
> document at http://man7.org/linux/man-pages/man2/sendfile.2.html, this is 
> only supported on Linux kernel 2.6.33+. 
> As pointed by Haowei in the discussion below, FileChannel#transferTo already 
> has support for native unbuffered IO on POSIX platform. On Windows, JDK 6/7/8 
> has not implemented native unbuffered IO yet. We change to use 
> FileChannel#transfer for POSIX and our own native wrapper of CopyFileEx on 
> Windows for unbuffered copy.  



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

Reply via email to