Long delays when using running separate instances on external and internal interfaces

Mark cyrus at peralex.com
Mon Oct 7 02:45:31 EDT 2013


Since I've resolved this issue, this is more to help others who may
experience the same problem than to ask a question.

While debugging a strange connection issues (frequent very slow
connections) when running Cyrus imapd and pop3d with different
configurations on different interfaces on the same machine, I found out
the service names in cyrus.conf file don't allow hyphens, and that they
silently discard the part after the hyphen, and the hype itself.

So I had something vaguely like this in cyrus.conf:

  pop3-eth0          cmd="pop3d" listen="192.168.0.1:pop3" prefork=0
  pop3-eth1          cmd="pop3d" listen="10.0.0.1:pop3" prefork=0

The parser interprets pop3-eth0 and pop3-eth1 as the same thing, which
means that it tries to use the same lock files for both interfaces,
which is bad (trust me).  It turns out that something like this is
better. Much better:

  pop3eth0          cmd="pop3d" listen="192.168.0.1:pop3" prefork=0
  pop3eth1          cmd="pop3d" listen="10.0.0.1:pop3" prefork=0

After a lot of debugging and digging through the source, I found that
the service names can only contain alphanumeric characters, truncating
the service name at the first non-alphanumeric character.  There are no
warnings of duplicate service names if the duplicates result from
service name truncation.

Thanks
Mark

Disclaimer: http://www.peralex.com/disclaimer.html




More information about the Info-cyrus mailing list