[ 
https://issues.apache.org/jira/browse/HDFS-4950?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Colin Patrick McCabe updated HDFS-4950:
---------------------------------------

    Attachment: 2013-07-02.incorrect-attr-trace.txt
                2013-07-02.correct-noattr-trace.txt

here are two traces that demonstrate the problem.  The issue seems to be that 
after the fuse RELEASE operation, we never call GETATTR again when attribute 
caching is enabled.

One easy fix for this would be to disable attribute caching entirely.  This 
would certainly fix the bug, but it might result in lower performance.  As you 
can see from the "correct noattr" trace, many more GETATTR operations are done 
in this, all of which will hit the NameNode.

Can we live with the fuse attribute cache?  This raises the question of how 
we're "supposed" to invalidate the fuse_dfs attribute cache.  I wasn't able to 
find any documentation about this.  I can see that fuse is checking the 
attributes of the root directory after the release.

{code}
   unique: 18, success, outsize: 16
unique: 19, opcode: RELEASE (18), nodeid: 2, insize: 64, pid: 0
release[140595351837776] flags: 0x8001
   unique: 19, success, outsize: 16
unique: 20, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 6597
getattr /
   unique: 20, success, outsize: 120
{code}

Is it possible that FUSE expects something to change there if a new file has 
been added?
                
> newly created files in fuse_dfs appear to be length 0 for a while
> -----------------------------------------------------------------
>
>                 Key: HDFS-4950
>                 URL: https://issues.apache.org/jira/browse/HDFS-4950
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: fuse-dfs
>    Affects Versions: 2.2.0
>            Reporter: Colin Patrick McCabe
>         Attachments: 2013-07-02.correct-noattr-trace.txt, 
> 2013-07-02.incorrect-attr-trace.txt
>
>
> For some reason, newly created files in fuse_dfs appear to be length 0 for a 
> while.
> {code}
> cmccabe@keter:~> echo hi > hi
> cmccabe@keter:~> mv hi /mnt/tmp/hi
> cmccabe@keter:~> ls -l /mnt/tmp
> total 0
> -rw-r--r-- 1 cmccabe users 0 Jul  2 13:24 hi
> cmccabe@keter:~> cat /mnt/tmp/hi
> cmccabe@keter:~> cat /mnt/tmp/hi
> hi
> {code}
> Disabling FUSE attribute caching fixes this.

--
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