how is the "Total number of known users" reported by doveadm replicator calculted?
Hello,
I have a question regarding the "Total number of known users" displayed by doveadm replicator status. How is it calculated? Shouldn't it match the number of users reported by doveadm user '*' ?
I have 3 servers being replicated, the "total number of known users" a lot higher than the number of users reports by doveadm user '*' why is that?
Arnaud
-- Arnaud Abélard Responsable Service Infrastructures DSIN Université de Nantes
ok assuming that you are using a database for virtual users
(this is pgsql)
# cat dovecot-pgsql.conf driver = pgsql connect = host=localhost port=5433 dbname=scom_billing user=pgsql password=xxxxxxxxx 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 controls what is returned to doveadm user '*' and the replication service.
in the above example i only return active accounts and skip alias accounts (fyi)
adjust to your config.
if it is not setup propoerly then both functions will return bad info to the replicator
if the replicator picks up on a new user on its own it will add it to its own replicator db (see example below) - this is why you are getting different result count wise.
once the .db file is updated it will carry that user till re-created (see below)
to sync this you need to shut down all servers.
origionaly before i figured this out i had to delete the .db file on all servers, touch it (aka make a blank file) and then restart the servers
dovecot will set the rights automatically when you start it up again
best sugestion is the get the doveadm user '*' working first as it will be the base results.
see :
[17:05:03] mail18.scom.ca [root:0] /usr/local/var/lib/dovecot # ll total 86 drwxr-xr-x 2 root wheel uarch 4B May 13 10:52 . drwxr-xr-x 4 root wheel uarch 4B Mar 8 2021 .. -rw-r--r-- 1 root wheel uarch 73B May 13 10:52 instances -rw-r--r-- 1 root wheel uarch 161K May 13 16:50 replicator.db
replicator.db is a txt file that carries the current status of the replication service.
example entry (carries hash info etc that tells the replicator service what happens next - ie when to pull a sync) :
ditchburn@scom.ca 0 1651914641 1652433042 1652433042 0 AQAAALiUhhMjOhJiUHwAAM9Y3P8lOhJiAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAJ8pBLXM8EmKfkQAAz1jc/yc6EmIEAAAABgAAAAAAAAAAAAAAAAAAAAQAAABI1pY73z0SYp+RAADPWNz/KjoSYgAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAJLdYwEjOhJiFCEBANHccmUlOhJiAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAoEK+EyM6EmJQfAAAz1jc/yY6EmIAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAA9flMZFfIUYr7FAADR3HJlLDoSYgAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAEZJQhMjOhJiUHwAAM9Y3P8jOhJiAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAkErEKRnyFGK+xQAA0dxyZS06EmIAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAACYRnsA4D0SYp+RAADPWNz/KzoSYgAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAHiN8xV7PBJin5EAAM9Y3P8oOhJiTQAAAFAAAAAAAAAAAAAAAAAAAABNAAAASIGABsI9EmKfkQAAz1jc/yk6EmIWAAAAGAAAAAAAAAAAAAAAAAAAABYAAABX2T8x 1652433042
this db file generates the user.sync status etc
doveadm replicator status '*'
Happy Friday !!! 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
On 5/13/2022 4:26 PM, Arnaud Abélard wrote:
Hello,
I have a question regarding the "Total number of known users" displayed by doveadm replicator status. How is it calculated? Shouldn't it match the number of users reported by doveadm user '*' ?
I have 3 servers being replicated, the "total number of known users" a lot higher than the number of users reports by doveadm user '*' why is that?
Arnaud
participants (2)
-
Arnaud Abélard
-
Paul Kudla (SCOM.CA Internet Services Inc.)