RE: Zombie / Orphan open files
From: Andrew J. Romero <hidden>
Date: 2023-01-31 17:44:40
From: Olga Kornievskaia <redacted>quoted
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 )