director_username_hash = %d and doveadm director map

Aki Tuomi aki.tuomi at open-xchange.com
Sun Nov 29 23:09:50 EET 2020


Did you try `doveadm director flush`? 

Aki

> On 29/11/2020 17:10 Ralf Becker <rb at egroupware.org> wrote:
> 
>  
> To answer my question I was able to identify the director code on Github 
> and the hashes are the first 4 byte of the binary md5 written as a 32 
> bit integer.
> 
> With that I was able to write a script that runs doveadm director map, 
> queries all domains from our internal management, calculates the hashes 
> and displays a joined list:
> 
> doveadm-director map | grep rbz
> rbz-xxxxxxxxx.de                             3766880388 10.44.88.5   
> nfs      2020-11-29 15:06:53
> rbz-yyyyyyyyyyyy.de                          3088689059 10.44.88.1   
> extern   2020-11-29 15:07:11
> 
> When I move a domain between backends / tags, I see for some time the 
> moved domain is listed for both tags, thought doveadm who on the 
> backends show users are only connected to the new backend. No idea why 
> that ist. Trying doveadm director move does NOT change that situation.
> 
> I currently disable the domain in our dict used for userdb and passdb, 
> clear the auth cache of all directors and flush them, before (final) 
> rsync of the mailboxes of the domain to the new backend. When our dicts 
> answer again with the new director tag, connections are going to the 
> correct backend-pair. But it takes some hours for the old mapping to 
> disappear.
> 
> Is that the expected behavior?
> Is doveadm director move supposted to work with director_username_hash = %d?
> 
> Ralf
> 
> 
> Am 23.11.20 um 15:15 schrieb Ralf Becker:
> > Our directors hash by domain (director_username_hash = %d), as some of 
> > our users share folders with other users of the same domain.
> >
> > We now started using director tags to map domains to their backends.
> >
> > Unfortunately doveadm director map seems no to work with 
> > director_username_hash = %d
> >
> > user    hash    mail server ip expire time
> > <unknown> 432784257 10.44.88.1   2020-11-23 13:10:55
> > <unknown> 4244233328 10.44.88.1   2020-11-23 13:13:55
> > <unknown> 1913982503 10.44.88.1   2020-11-23 13:15:40
> >
> > How can I check to which backend / IP a domain is maped, aka how is 
> > that hash calculated?
> >
> > doveadm director move seems also not to do anything meaningful for %d, 
> > or at least I have not found out how to use it to move a domain to a 
> > different backend.
> >
> > Hoping for some insight :)
> >
> > Ralf
> >
>


More information about the dovecot mailing list