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

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

@Brock
{quote}
What happens if the 10 seconds expires and the prerequisite write has not been 
received? The biggest issue I had when moving the proxy from basically working 
to handling multiple heavy use clients was memory consumption while waiting for 
pre-requisite writes. I eventually had to write pending writes to a file. This 
is documented in this issue https://github.com/brockn/hdfs-nfs-proxy/issues/7
{quote}
The pending write requests will fail after timeout. Saving pending writes in 
files can help in some cases but also introduces some problems. First, it 
doesn't eliminate the problem. The prerequisite write may never arrive if 10 
seconds is not long enough. Even the prerequisite write arrives finally, the 
accumulated writes in the file may have timed out. Secondly, it makes the 
server stateful (or have more state information). To support HA later, we have 
to move the state information from one NFS gateway to another in order to 
recover. If the state recovery takes too long to finish, it can cause the 
clients new requests to fail. 
More testing and research work is needed here.

{quote}
Interesting, what version of linux have tried? I believe I was using RHEL 5.X. 
{quote}
CentOS6.3 and Mac 10.7.5

{quote}
Additionally, is there anything the user can do to force the writes? i.e. If 
the user has control over the program, could they do a fsync(fd) to force the 
flush?
{quote} fsync could trigger NFS commit, which will sync and persist the data.

{quote} I could imagine many users believing once they have closed a file via 
NFS that exact file will be available via one the other APIs. We'll need to 
make this limitation blatantly obvious to users otherwise it will likely become 
a support headache.{quote}
If the application expects that, after closing file through one NFS gateway, 
the new data is immediately available to all other NFS gateways, the 
application should do a sync call after close.

This is not a limitation only to this NFS implemtation. POSIX close doesn't 
sync data implicitly.

                
> Support NFSv3 interface to HDFS
> -------------------------------
>
>                 Key: HDFS-4750
>                 URL: https://issues.apache.org/jira/browse/HDFS-4750
>             Project: Hadoop HDFS
>          Issue Type: New Feature
>    Affects Versions: 3.0.0
>            Reporter: Brandon Li
>            Assignee: Brandon Li
>         Attachments: HADOOP-NFS-Proposal.pdf
>
>
> 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 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