> From: Olga Kornievskaia <aglo@xxxxxxxxx> > > Hi > > > > This is a quick general NFS server question. > > > > Does the NFSv4x specification require or recommend that: the NFS server, after some reasonable time, > > should / must close orphan / zombie open files ? > > Why should the server be responsible for a badly behaving client? It > seems like you are advocating for the world where a problem is hidden > rather than solved. But because bugs do occur and some customers want > a quick solution, some storage providers do have ways of dealing with > releasing resources (like open state) that the client will never ask > for again. > > Why should we excuse bad user behaviour? For things like long running > jobs users have to be educated that their credentials must stay valid > for the duration of their usage. > > Why should we excuse poor application behaviour that doesn't close > files? But in a way we do, the OS will make sure that the file is > closed when the application exists without explicitly closing the >From the perspective of the system-admin of a large NFS server that provides services to a large multi-mission user base, Making the file-service ( client and server file-service components ) tolerant, of foolishness and malice ( DOS / DDOS ) at the application layer, is highly advantageous. This is not a problem of determining where to justly place blame. We are all fairly certain that the "culprits" are users creating / using bad applications; however, We are 100% certain that the strategy of eliminating all bad applications ( accidental and intentional) is a bit like global-peace ... highly desirable; but, not so easy to implement. > file. So I'm curious how do you get in a state with zombie? I think in most cases its: file is open for a period of time long enough to be affected by a "disruption". The most common "disruption" for me appears to be Kerberos ticket expiration for interactive user sessions. ( for known long running background /robotic tasks I have people manage (keytab based ) credentials with gssproxy .. works nicely; but not for interactive use )