Re: [NFS] Stale NFS file handle error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tom H wrote:
> Hi,
>
> I have been intermittently seeing a "Stale NFS file handle" error from a 
> Java app we use to resize images and save them to a file on an NFS 
> mounted directory.
>
> An example of the code in Java is;
>
> 	File outputFile = new File(outputDir, (new 
> StringBuilder()).append(filePrefix).append(ifile.getName()).toString());
> 	BufferedImage large = ImageIO.read(inputFile);
> 	BufferedImage scaled = scale(large, width, height);
> 	ImageIO.write(scaled, "jpg", outputFile);
>
> And about once in every 10 thousand writes, it throws the following error;
>
> java.io.IOException: Stale NFS file handle
> 	at java.io.RandomAccessFile.close(RandomAccessFile.java:573)
> 	at 
> javax.imageio.stream.FileImageOutputStream.close(FileImageOutputStream.java:160)
> 	at javax.imageio.ImageIO.write(ImageIO.java:1519)
> 	at com.hz.pagemill.process.ImageScaler.scale(ImageScaler.java:47)
>
> The NFS3 protocol specification defines a Stale File handle error as 
> follows; (http://tools.ietf.org/html/rfc1813)
>
>     NFS3ERR_STALE
>         Invalid file handle. The file handle given in the
>         arguments was invalid. The file referred to by that file
>         handle no longer exists or access to it has been
>         revoked.
>
> The way the code works prevents 2 processes creating the same file, so I 
> am pretty sure that whatever is moving, renaming or deleting the file is 
> not part of the java app.
>
> We are running the default nfs server with RHEL4;
> [root@aspdb01 ~]# modinfo nfsd
> filename:       /lib/modules/2.6.9-55.0.9.ELsmp/kernel/fs/nfsd/nfsd.ko
> license:        GPL
> author:         Olaf Kirch <okir@xxxxxxxxxxxx>
> depends:        sunrpc,exportfs,lockd,nfs_acl
> vermagic:       2.6.9-55.0.9.ELsmp SMP gcc-3.4
>
> with the following export options;
> [root@aspdb01 ~]# cat /etc/exports
> /myshareZZZ     *(rw,sync,no_root_squash,no_subtree_check)
>
> (I have tried it with, and without no_subtree_check)
>
> I was hoping to get some pointers on debugging the issue.

Are you sure that you don't have two (or more) different NFS
clients working in the same directory?

The ESTALE error usually occurs when a change is made on the
server to something that a client is accessing, perhaps
directly on the server or more commonly, by a different NFS
client.

       ps

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
NFS maillist  -  NFS@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/nfs
_______________________________________________
Please note that nfs@xxxxxxxxxxxxxxxxxxxxx is being discontinued.
Please subscribe to linux-nfs@xxxxxxxxxxxxxxx instead.
    http://vger.kernel.org/vger-lists.html#linux-nfs

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux