how is the "Total number of known users" reported by doveadm replicator calculted?

Paul Kudla (SCOM.CA Internet Services Inc.) paul at scom.ca
Fri May 13 21:14:26 UTC 2022


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 at 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
> 
> 


More information about the dovecot mailing list