I have a replication set up with two dovecot 2.3.4 servers.
Messages appear to be replicating fine between them, however there is an
oddity when I run doveadm replicator status '*' and I'm worried work is
being carried out needlessly.
Both machines have identical configs and have a mysql backend for
username/passwords. Both machines point to the same mysql server and
same tables.
When I run
doveadm user '*'
On either machine I am presented with the same correct list of users.
The users are presented in the form: username and not username@domain.
When I run
doveadm replicator status '*'
On either machine I receive a list of usernames which includes not only
username but also username@domain. Both of these "accounts" have fast
sync, full sync and success sync entries and these are not the same
times between username and username@domain (hence I'm worried
unnecessary work is being carried out).
My ee dovecot-sql.conf.ext
Has these entires re usernames
user_query = SELECT home, uid, gid FROM users WHERE username = '%n'
password_query = SELECT username AS user, domain, password, home AS
userdb_home, uid AS userdb_uid, gid AS userdb_gid FROM users WHERE
username = '%u'
[Having copied these in I do see the different usage of %u and %n]
iterate_query = SELECT username AS user,domain FROM users
The users table is as follows
+--------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| username | varchar(128) | NO | | NULL | |
| domain | varchar(128) | NO | | NULL | |
| password | varchar(64) | NO | | NULL | |
| home | varchar(255) | NO | | NULL | |
| uid | int(11) | NO | | NULL | |
| gid | int(11) | NO | | NULL | |
| active | char(1) | NO | | Y | |
| mail_replica | varchar(255) | NO | | NULL | |
+--------------+--------------+------+-----+---------+-------+
I assume that the duplication of username with and without domains isn't
as intended, any suggestions where I am going wrong?
I did previously have the servers running with the iterate query
commented out and when that was the case
doveadm user '*'
returned the correct number of accounts but in the format
username@domain and the replicator status again 'double listed' accounts
as described above.
Thank you for any tips!
--
Daniel Schütze
Director
------------------
CWA International
Balmoral House
9 John Street
London
WC1N 2ES
(t) + 44 (0)20 7242 8444
(e) d...@cwa.uk.com
(w) http://www.cwa.uk.com/