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

Brandon Li commented on HDFS-4750:
----------------------------------

Overlapped writes happen usually for the first block.
For example, a file has 100 bytes. User write this file to NFS mount point. 
After a while (the 100 bytes still in OS buffer cache), the user appends 
another 100 bytes. In this case, the NFS client will rewrite the first block 
(0-199th byte), and thus we see an overlapped write. These kind of case should 
be well handled by current code (but, still might have bugs there :-(   )

Based on your description, the problem seems not the above case. There is one 
case, we currently have not way to control it on the server side:

1. client sends write  0-99, we cache this write and do the write asynchronously
2. client sends another write  180-299, we cache it too, can't write since 
there is a hole
3. client sends another write 100-199, we will do the write since it's a 
sequential write
4. after we finish writing (0-99) and (100-199), we see an overlapped write 
(180-299) in the cache. This is where you see the error message since we are 
expecting another sequential write (200-xxx)

This kind of overlapped write happens very rarely. In case it happens, we have 
multiple copies of the same range (180-198 in the above example). The data 
could be different. When they are different, it could be hard to know which one 
is really expected by the client. 

> Support NFSv3 interface to HDFS
> -------------------------------
>
>                 Key: HDFS-4750
>                 URL: https://issues.apache.org/jira/browse/HDFS-4750
>             Project: Hadoop HDFS
>          Issue Type: New Feature
>          Components: nfs
>    Affects Versions: 3.0.0
>            Reporter: Brandon Li
>            Assignee: Brandon Li
>         Attachments: HADOOP-NFS-Proposal.pdf, HDFS-4750.patch, nfs-trunk.patch
>
>
> Access HDFS is usually done through HDFS Client or webHDFS. Lack of seamless 
> integration with client’s file system makes it difficult for users and 
> impossible for some applications to access HDFS. NFS interface support is one 
> way for HDFS to have such easy integration.
> This JIRA is to track the NFS protocol support for accessing HDFS. With HDFS 
> client, webHDFS and the NFS interface, HDFS will be easier to access and be 
> able support more applications and use cases. 
> We will upload the design document and the initial implementation. 



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

Reply via email to