[Dovecot] graceful failure when some folders are not available...
Steven F Siirila
sfs at tc.umn.edu
Tue Oct 23 23:07:07 EEST 2007
On Sat, Oct 20, 2007 at 10:10:00PM +0300, Timo Sirainen wrote:
> On Mon, 2007-10-08 at 16:39 -0500, Steven F Siirila wrote:
> > And in fact your tests (below) reproduced this. The problem with this is
> > that if even one file or directory within the user's IMAP folder space is
> > currently unavailable (due to an NFS server being down), the user cannot
> > log in at all to access any of their other folders. In out scenario, we
> > would prefer that the user simply not see the folders (treat the error the
> > same as "file not found"). BTW, the errno seen is ETIMEDOUT (we are soft
> > mounting the NFS filesystem in question). Any thoughts on how we can
> > accomplish this? We don't normally expect this NFS filesystem to become
> > unavailable, but when it is, we don't want it to prevent all users from
> > being able to log in, since this NFS filesystem only holds folders of an
> > archival nature.
> Does the attached patch help?
> It should work pretty nicely if index files are still available. If they
> aren't, it shows the mailbox as being empty.
In conjunction with this inquiry, we attempted an alternate method.
We created a new namespace for the hierarchy which was NFS-mounted.
In the IMAP startup script we checked to see if the NFS mount was
accessible. If it was available, we'd enable this namespace.
Otherwise, we would not. In this way we could avoid the behavior
exhibited at Dovecot startup where login would fail if the NFS mount
was unavailable. In the case of existing sessions, the user will still
see a 1 minute delay before getting an error back, but we can live with
that. So, in short, we did not test the provided patch (sorry).
We realized that using this patch alone would have still left us with
problems in cases where many files were in the NFS-mounted hierarchy,
as it would have had to stat() each (and timeout on each).
Thanks for the patch nonetheless!
Steven F. Siirila Office: Univ Park Plaza, Room 750
Internet Services E-mail: sfs at umn.edu
Office of Information Technology Voice: (612) 626-0244
University of Minnesota Fax: (612) 626-7593
More information about the dovecot