Alan McGinlay
2014-Sep-28 13:32 UTC
dsync mirror does not maintain changes between mailboxes
Hi, running: dsync -D -v -o mail_fsync=never mirror -R -f -u user at domain imapc: Where "domain" is a cyrus imap server does not do what the documentation says it does, not even close. After the first run to an empty mailbox on the dovecot 2.2.13 server all the mails (1.1GB) seem to be correctly synced. I send a test email to the dovecot server and it shows up correctly. Second run of the above dsync command, first thing that happens is all mails are deleted from the dovecot mailbox (yet the storage used by output of "du -m" doesn't change) and the sync appears to happen again from scratch however the disk space increases again! Now up to about 2GB and another run will take it up a few hundred mb more! I have tried with multiple different mail storage formats, maildir++, mdbox sdbox, all show the same (except maildir which just complains that INBOX can't be deleted on the second dsync run). This is frustrating beyond belief, please please anyone who has any insight let me know, the dsync debug output is a little huge to sanitize and post to the list but i can send it individually if anyone has any ideas! I am ready to give up totally on dovecot but at the same time I just wish it would work! doveconf -n # 2.2.13 (6bb26098a45c): /etc/dovecot/dovecot.conf # OS: Linux 3.2.0-67-virtual x86_64 Ubuntu 14.04.1 LTS auth_debug = yes auth_master_user_separator = * default_vsz_limit = 512 M disable_plaintext_auth = yes imapc_features = rfc822.size imapc_host = oldmailhost.domain.com imapc_master_user = cyradmin imapc_password = xxxxxxxx imapc_user = %u mail_gid = vmail mail_home = /var/vmail/domains/%d/%1n/%n mail_location = sdbox:~/sdbox mail_plugins = zlib notify quota fts fts_solr mail_prefetch_count = 30 mail_uid = vmail mailbox_list_index = yes managesieve_sieve_capability = fileinto imapflags namespace inbox { inbox = yes location mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix separator = / } passdb { args = /etc/dovecot/passwd.masterusers driver = passwd-file master = yes pass = yes } passdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } plugin { fts = solr fts_solr = url=http://localhost:8080/solr/ quota = dirsize:User quota quota_grace = 10%% quota_rule = *:storage=20G sieve = ~/.dovecot.sieve sieve_dir = /var/vmail/sieve/domain/%1d/%d/%1n/%n/ sieve_extensions = imapflags fileinto zlib_save = bz2 zlib_save_level = 5 } protocols = imap pop3 lmtp sieve service auth-worker { user = $default_internal_user } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-userdb { group = vmail mode = 0666 user = vmail } } service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } vsz_limit = 512 M } service imap { process_limit = 1024 vsz_limit = 512 M } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } } ssl_cert = </etc/ssl/certs/dovecot.pem ssl_key = </etc/ssl/private/dovecot.pem userdb { driver = prefetch } userdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } verbose_ssl = yes protocol lmtp { mail_plugins = zlib notify quota fts fts_solr quota sieve } protocol imap { mail_plugins = zlib notify quota fts fts_solr imap_quota } protocol sieve { managesieve_implementation_string = Cyrus timsievd v2.2.13 }