[#5296] Unavailable mailboxes shown as empty
Summary Unavailable mailboxes shown as empty
Queue IMP
Queue Version HEAD
Type Enhancement
State Assigned
Priority 1. Low
Owners Matt Selsky <selsky (at) columbia (dot) edu>
Requester Matt Selsky <selsky (at) columbia (dot) edu>
Created 04/23/2007 (382 days ago)
Due
Updated 06/11/2007 (333 days ago)
Assigned 05/12/2007 (363 days ago)
Resolved
Attachments
Milestone
Patch

History
06/11/2007 Chuck Hagenbuch Comment #5 Reply to this comment
> Perhaps.  However, if you set imap_closeonerror, imap_open() will
> fail instead of simulating an empty mailbox, i.e., the mailbox won't
> be halfopen.  Another option might be getting the error from mm_log().

Good info, thanks. Unfortunately, unless I'm missing something all of those options would require changes to PHP, not just to Horde.
06/08/2007 wescraig (at) gmail (dot) com Comment #4 Reply to this comment
> I'm unaware of a way to get that "server unavailable" message from
> c-client. Your best bet may be to get murder to issue an IMAP ALERT
> instead of just the "No".

Perhaps.  However, if you set imap_closeonerror, imap_open() will fail instead of simulating an empty mailbox, i.e., the mailbox won't be halfopen.  Another option might be getting the error from mm_log().
05/12/2007 Chuck Hagenbuch Comment #3
State ⇒ Assigned
Assigned to Matt Selsky
Reply to this comment
I'm unaware of a way to get that "server unavailable" message from c-client. Your best bet may be to get murder to issue an IMAP ALERT instead of just the "No".
04/24/2007 Michael Slusarz Comment #2
Priority ⇒ 1. Low
State ⇒ New
Type ⇒ Enhancement
Reply to this comment
I would classify this as an enhancement rather than a bug.
04/23/2007 Matt Selsky Comment #1
Summary ⇒ Unavailable mailboxes shown as empty
State ⇒ Unconfirmed
Priority ⇒ 1. Low
Type ⇒ Bug
Queue ⇒ IMP
Reply to this comment
We are using Cyrus IMAP in a "murder" configuration.  Occasionally, one of the backend servers will go down while the frontend servers remain up.  The IMAP transaction looks like this:

$ openssl s_client -connect mail:993 -quiet
depth=1 /C=US/O=Equifax/OU=Equifax Secure Certificate Authority
verify return:0
* OK cyrus-frontend-host Cyrus IMAP4 Murder v2.2.12 server ready
a01 LOGIN testuser password
a01 OK User logged in
a02 SELECT INBOX
a02 NO Server(s) unavailable to complete operation
a03 LOGOUT
* BYE LOGOUT received
a03 OK Completed
read:errno=0

So the login succeeds because authentication is done on the front-end, but the INBOX is unavailable because it's on the down backend.

IMP should be able to catch the "server unavailable" message and pass it back to the UI instead of showing an empty mailbox.  Users currently panic, thinking that their mailbox has been wiped, when in reality their backend server is undergoing maintenance (or it's broken, but their mail will be back when the server comes back up).