Hi, folks! I have some strange problem with cyrus-mupdate. I have three servers, all running cyrus-imapd v2.3.12p2 on FreeBSD 7.0 (though I've tested the same configuration with cyrus v2.2.13 and got the same behaviour):
The first one, 192.168.7.1, which is configured to be the mupdate master, the second one, 192.168.7.2 - configured to be a backend, and the third one, 192.168.7.3 - a frontend Everything works quite fine except for the one very annoying thing - mupdate frontend does not synchronize it's mailboxes database with mupdate master in real-time. It does synchronize it on start, but when somebody creates a folders in their mailbox, frontend's mailboxes database does not reflect this change, until cyrus restarted. E.g. on the frontend machine: ---------- #telnet 192.168.7.3 143 Connected to cyr3.poligon.pht. a01 login vlad vlad a01 OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID MUPDATE=mupdate://192.168.7.1/ LOGINDISABLED ACL RIGHTS=kxte QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY SORT SORT=MODSEQ THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE CATENATE CONDSTORE SCAN IDLE URLAUTH] User logged in a02 list "" "*" * LIST (\HasChildren) "." "INBOX" * LIST (\HasNoChildren) "." "INBOX.Mail" * LIST (\HasNoChildren) "." "INBOX.Sent" * LIST (\HasNoChildren) "." "INBOX.Trash" a02 OK Completed (0.000 secs 5 calls) a03 create INBOX.Foo a03 OK Completed a04 list "" "*" * LIST (\HasChildren) "." "INBOX" * LIST (\HasNoChildren) "." "INBOX.Mail" * LIST (\HasNoChildren) "." "INBOX.Sent" * LIST (\HasNoChildren) "." "INBOX.Trash" a04 OK Completed (0.000 secs 5 calls) a05 logout ------------- but the folder was actually created and does exist, I can see it on the backend: --------------------------- #telnet 192.168.7.2 143 Trying 192.168.7.2... Connected to cyr2.poligon.pht. Escape character is '^]'. * OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID MUPDATE=mupdate://192.168.7.1/ AUTH=PLAIN AUTH=DIGEST-MD5 AUTH=CRAM-MD5 SASL-IR] cyr2.poligon.pht Cyrus IMAP Murder v2.3.12p2 server ready a01 login vlad vlad a01 OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID MUPDATE=mupdate://192.168.7.1/ LOGINDISABLED ACL RIGHTS=kxte QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY SORT SORT=MODSEQ THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE CATENATE CONDSTORE SCAN IDLE URLAUTH] User logged in a02 list "" "*" * LIST (\HasChildren) "." "INBOX" * LIST (\HasNoChildren) "." "INBOX.Foo" * LIST (\HasNoChildren) "." "INBOX.Mail" * LIST (\HasNoChildren) "." "INBOX.Sent" * LIST (\HasNoChildren) "." "INBOX.Trash" a02 OK Completed (0.000 secs 6 calls) ------------------------ Only after restarting cyrus on the frontend I get the same response from LIST "" "*" on the frontend, as on the backend. I've done a lot of googling but only managed to find that some folks have faced the same problem in the past and wrote about it, but, alas, there was no reply nor any solution. I guess it must be me being extremely silly and missing something very simple, but I can't find the answer. Anyone, any clues? I'm posting my cyrus configs below: MUPDATE MASTER server config, 192.168.7.1 --------------------------cyrus.conf-------------------- START { recover cmd="ctl_cyrusdb -r" } SERVICES { mupdate cmd="mupdate -m" listen="192.168.7.1:3905" prefork=5 } EVENTS { checkpoint cmd="ctl_cyrusdb -c" period=40 delprune cmd="cyr_expire -E 3" at=0400 tlsprune cmd="tls_prune" at=0400 } -------------------------------END-------------------- ----------------------------imapd.conf------------------ configdirectory: /var/imap defaultpartition: fictive partition-fictive: /var/imap/spool admins: cyrus frontend1 backend1 backend2 murder allowusermoves: 1 allowplaintext: 1 reject8bit: no tlscache_db: skiplist sasl_pwcheck_method: auxprop sasl_mech_list: cram-md5 digest-md5 plain starttls ---------------------------END-------------------------- MUPDATE BACKEND server config, 192.168.7.2 -----------------------cyrus.conf------------------------ START { recover cmd="ctl_cyrusdb -r" mupdatepush cmd="ctl_mboxlist -m" } SERVICES { imap cmd="imapd" listen="192.168.7.2:imap" prefork=2 pop3 cmd="pop3d" listen="192.168.7.2:pop3" prefork=2 lmtp cmd="lmtpd" listen="192.168.7.2:lmtp" prefork=2 lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=2 } EVENTS { checkpoint cmd="ctl_cyrusdb -c" period=40 delprune cmd="ctl_deliver -E 3" at=0400 } ------------------------------END------------------------- -------------------------imapd.conf---------------------------- configdirectory: /var/imap defaultpartition: default partition-default: /var/imap/spool allowplaintext: yes allowusermoves: 1 admins: cyrus murder proxyservers: murder reject8bit: no sasl_pwcheck_method: auxprop sasl_auto_transition: no sasl_mech_list: cram-md5 digest-md5 plain starttls mupdate_server: 192.168.7.1 mupdate_port: 3905 mupdate_username: backend1 mupdate_authname: backend1 mupdate_password: backend1pass proxy_authname: murder proxy_password: murderpass -----------------------------END-------------------------- MUPDATE FRONTEND server config, 192.168.7.3 ---------------------cyrus.conf--------------------------- START { recover cmd="ctl_cyrusdb -r" } SERVICES { mupdate cmd="/usr/local/cyrus/bin/mupdate" listen=3905 prefork=2 imap cmd="proxyd" listen="imap" prefork=1 pop3 cmd="pop3d" listen="pop3" prefork=1 } EVENTS { checkpoint cmd="ctl_cyrusdb -c" period=40 delprune cmd="cyr_expire -E 3" at=0400 tlsprune cmd="tls_prune" at=0400 } ----------------------------END-------------------------- -----------------------imapd.conf-------------------- configdirectory: /var/imap defaultpartition: default partition-default: /var/imap/spool admins: cyrus backend1 murder mupdate_server: 192.168.7.1 mupdate_port: 3905 mupdate_retry_delay: 5 mupdate_authname: frontend1 mupdate_password: frontend1pass proxy_authname: murder proxy_password: murderpass allowplaintext: 1 allowusermoves: 1 reject8bit: no sasl_auto_transition: no sasl_pwcheck_method: auxprop sasl_mech_list: cram-md5 digest-md5 plain starttls -------------------------END--------------------------- ----- Best regards, Vladimir Zorin ---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html