Duplicate messages if message is moved when using dsync
Thom Pol
thom at amsterdamtech.nl
Wed May 25 14:19:19 UTC 2022
Hi,
Thanks for your reply!
The dsync is triggered on IMAP/POP3/LDA/LMTP activity. See my config
dump from the first email. I'm wondering if my config is not OK so it
causes dsync to sync twice?
> you need / preferably use a database for your user auth
I already do this.
> run the command doveadm user '*' - it needs to return a list of users
> that will trigger replication (after doing config above)
This part works fine.
Thanks,
Thom Pol
On 18/05/2022 16:51, Paul Kudla (SCOM.CA Internet Services Inc.) wrote:
> ok - question
>
> when you say dsync are you running that manually or as a cronjob ??
>
> or using replication via dsync
>
> there is a difference
>
> replication is designed to handle mailbox changes by quing the changes
> on the fly and then update in the background.
>
> replication tracks all changes in a mailbox and then sends them one at a
> time to the target server.
>
> i run replication with tcp (not tcps or dsync)
>
> I find (other then the 300+folder issues) that it runs pretty good in
> real time.
>
> if you are running dsync manually then yes timing on its own will be a
> hit and miss and it will never sync properly if something appears during
> the dsync process.
>
> if you have the sive running as discussed that is the first step
>
> you should setup replication so things are handled in real time.
>
> pls advise if you have already done replication or just manually dsyncing.
>
> Below is basic replication setup but you need to make sure various
> pre-requirements are in place a head of time.
>
> 1. you need / preferably use a database for your user auth
>
> you need to setup an iterate sql statement that returns the user
> list of users to be replicated
>
> Example (i use pgsql) :
>
> # cat dovecot-pgsql.conf
> driver = pgsql
> connect = host=localhost port=5433 dbname=scom_billing user=pgsql password=
> default_pass_scheme = PLAIN
>
> password_query = SELECT username as user, password FROM email_users
> WHERE username = '%u' and password <> 'alias' and status = True and
> destination = '%u'
>
> user_query = SELECT home, uid, gid FROM email_users WHERE username =
> '%u' and password <> 'alias' and status = True and destination = '%u'
>
> iterate_query = SELECT "username" as user, domain FROM email_users WHERE
> status = True and alias_flag = False
>
> #iterate_query above is what returns the user lists
>
> 2. run the command doveadm user '*' - it needs to return a list of users
> that will trigger replication (after doing config above)
>
> 3. in general here is my relative parts for tcp replication
>
> In dovecot.conf
>
> ---------------------------------------------------------------------------
>
> mail_plugins = " virtual notify replication fts fts_lucene "
>
> replication_dsync_parameters = -d -N -l 300 -U
>
> dsync_remote_cmd = ssh -l%{login} %{host} doveadm dsync-server -u%u
>
> plugin {
>
> .....
> mail_replica = tcp:10.221.0.19:12345
>
> #(note this is the ip address of the other server)
> #it is the only config change ie server one above
> #server2 would be the other server for communicating.
>
>
>
> .....
>
> }
>
> protocol imap {
> mail_max_userip_connections = 50
> mail_plugins = $mail_plugins notify replication
> }
>
> protocol pop3 {
> mail_max_userip_connections = 50
> mail_plugins = $mail_plugins notify replication
> }
>
> protocol imaps {
> mail_max_userip_connections = 25
> mail_plugins = $mail_plugins notify replication
> }
>
> protocol pop3s {
> mail_max_userip_connections = 25
> mail_plugins = $mail_plugins notify replication
> }
>
> replication_max_conns = 100 (optional)
>
> replication_full_sync_interval = 1d
>
> service replicator {
> client_limit = 0
> drop_priv_before_exec = no
> idle_kill = 4294967295s
> process_limit = 1
> process_min_avail = 0
> service_count = 0
> vsz_limit = 8g
> unix_listener replicator-doveadm {
> mode = 0600
> user = vmail
> }
> vsz_limit = 8192M
> }
>
> service aggregator {
> process_limit = 1000
> #vsz_limit = 1g
> fifo_listener replication-notify-fifo {
> user = vmail
> group = vmail
> mode = 0666
> }
>
> }
>
>
>
> ----------------------------------------------------------------------------
>
> that should do it?
>
>
>
>
>
>
>
>
>
>
>
>
> Happy Wednesday !!!
> Thanks - paul
>
> Paul Kudla
>
>
> Scom.ca Internet Services<http://www.scom.ca>
> 004-1009 Byron Street South
> Whitby, Ontario - Canada
> L1N 4S3
>
> Toronto 416.642.7266
> Main?1.866.411.7266
> Fax?1.888.892.7266
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20220525/2f601ffa/attachment.htm>
More information about the dovecot
mailing list