[Dovecot] Wrong protocol in socket (director-doveadm vs director) ?
I just noticed this error in my logs:
director: Error: doveadm not compatible with this server (mixed old and new binaries?) director: Error: director(10.161.192.28:541/right): Wrong protocol in socket (director-doveadm vs director)
The first error I removed by changing director_doveadm_port = 541 to director_doveadm_port = 542
Not really sure why that fixed it.
The second error I don't know how to clear.
I found this thread, http://dovecot.org/pipermail/dovecot/2010-July/051022.html but it didn't work for me.
If I create a new service for dovecot-doveadm
service director-doveadm { inet_listener { port = 542 } }
Then I get a new error saying:
service(director-doveadm): executable is empty
here is my original 10-director.conf file (i'm using dovecot 2.0.6)
director_doveadm_port = 541
service director { unix_listener login/director { mode = 0666 } fifo_listener login/proxy-notify { mode = 0666 } unix_listener director-userdb { mode = 0600 } inet_listener { port = 541 } }
service imap-login { executable = imap-login director } service pop3-login { executable = pop3-login director }
service managesieve-login { executable = managesieve-login director }
protocol lmtp { auth_socket_path = /usr/local/var/run/dovecot/director-userdb passdb { driver = static args = proxy=y nopassword=y port=24 } }
On Mon, 2010-11-01 at 11:53 -0400, Edward Carraro wrote:
service(director-doveadm): executable is empty
service director-doveadm { executable = doveadm-server }
director_doveadm_port = 541
service director { unix_listener login/director { mode = 0666 } fifo_listener login/proxy-notify { mode = 0666 } unix_listener director-userdb { mode = 0600 } inet_listener { port = 541 } }
Do you have only a single director server? I think it gets confused because you have only a single inet_listener. I guess it should be fixed anyway, but you could fix it by having two inet_listeners, the first one with non-doveadm port.
On Tue, 2010-11-02 at 13:41 +0000, Timo Sirainen wrote:
Do you have only a single director server? I think it gets confused because you have only a single inet_listener. I guess it should be fixed anyway,
http://hg.dovecot.org/dovecot-2.0/rev/f55b91aaddfe should help
Currently I have 3 director servers all listening on port 541... (soon to be 4 servers).
I'll try the patch and report back shortly
On Tue, Nov 2, 2010 at 9:44 AM, Timo Sirainen tss@iki.fi wrote:
On Tue, 2010-11-02 at 13:41 +0000, Timo Sirainen wrote:
Do you have only a single director server? I think it gets confused because you have only a single inet_listener. I guess it should be fixed anyway,
http://hg.dovecot.org/dovecot-2.0/rev/f55b91aaddfe should help
I've applied the patch to all 3 servers now I get this error in dovecot-err.log on box 008 (when i telnet localhost 143)
director: Error: Director 10.161.192.28:541/left disconnected
192.28 IP is box 003...
It seems to only happen once. I've tried localhost telnets on all the other boxes with no errors appearing in any logs of the others...
here is my updated 10-director.conf file (same on all 3 director servers)
director_servers = ommtca003 ommtca007 ommtca008 director_mail_servers = ommtca013 ommtca014 ommtca016 ommtca017 ommtca018 director_doveadm_port = 542
service director { unix_listener login/director { mode = 0666 } fifo_listener login/proxy-notify { mode = 0666 } unix_listener director-userdb { mode = 0600 } inet_listener { port = 541 } }
service director-doveadm { inet_listener { port = 542 } }
service imap-login { executable = imap-login director } service pop3-login { executable = pop3-login director } service managesieve-login { executable = managesieve-login director } protocol lmtp { auth_socket_path = /usr/local/var/run/dovecot/director-userdb passdb { driver = static args = proxy=y nopassword=y port=24 } } service director-doveadm { executable = doveadm-server }
On Tue, Nov 2, 2010 at 10:37 AM, Timo Sirainen tss@iki.fi wrote:
On Tue, 2010-11-02 at 10:19 -0400, Edward Carraro wrote:
Currently I have 3 director servers all listening on port 541... (soon to be 4 servers).
Then if you want to have doveadm socket also, you need two inet_listeners. One for other directors and one for doveadm.
On Tue, 2010-11-02 at 11:36 -0400, Edward Carraro wrote:
I've applied the patch to all 3 servers now I get this error in dovecot-err.log on box 008 (when i telnet localhost 143)
director: Error: Director 10.161.192.28:541/left disconnected
192.28 IP is box 003...
It seems to only happen once. I've tried localhost telnets on all the other boxes with no errors appearing in any logs of the others...
So after that error is logged everything else works fine anyway?
director_doveadm_port = 542
service director { unix_listener login/director { mode = 0666 } fifo_listener login/proxy-notify { mode = 0666 } unix_listener director-userdb { mode = 0600 } inet_listener { port = 541 }
Add here:
inet_listener { port = 542 }
}
These are actually something completely different, I got confused for a while. Remove them:
service director-doveadm { inet_listener { port = 542 } }
service director-doveadm { executable = doveadm-server }
On Tue, Nov 2, 2010 at 11:46 AM, Timo Sirainen tss@iki.fi wrote:
So after that error is logged everything else works fine anyway?
yea, it only appears once i restart one of the dovecot servers and
telnet... everything seems to be working.
just wondering, what do the following mean in the logs?
:541/right :541/left :541/in :541/out
On Tue, 2010-11-02 at 12:16 -0400, Edward Carraro wrote:
On Tue, Nov 2, 2010 at 11:46 AM, Timo Sirainen tss@iki.fi wrote:
So after that error is logged everything else works fine anyway?
yea, it only appears once i restart one of the dovecot servers and
telnet... everything seems to be working.
just wondering, what do the following mean in the logs?
:541/right :541/left :541/in :541/out
The directors are connected to each others in ring. Like you have connections:
A -> B B -> C C -> A
So if B logs about "right", it means the B -> C connection. If it logs about "left", it means the "A -> B" connection. The directors always connect to their right side, so "out" should be always the same as "right" and "in" should be "left". But until handshaking is done, it simply logs in/out for incoming/outgoing connections. All of this could probably be done in some other clearer way :)
participants (2)
-
Edward Carraro
-
Timo Sirainen