[Dovecot] Worker-server timeout
Hello Everyone,
First wanted to say thanks for any help in advance.
I have a clustered mail system each running on centos 5.2. I have a
test box that I am running the newest version on dovecot on and I am
getting some random authnication failed errors. Here is the error below:
Nov 04 17:31:22 auth(default): Error: worker-server(xxx@xxxx.com):
Aborted: Lookup timed out
Nov 04 17:31:23 auth(default): Info: client out: FAIL 2 user=xxx@xxxx.com
temp
The thing is, the errors only show when the user is attempting to send
a message.
Here is my dovecot -n
# 1.2.5: /etc/dovecot.conf
# OS: Linux 2.6.18-92.el5 x86_64 CentOS release 5.2 (Final) nfs
log_path: /var/log/dovecot
login_dir: /var/run/dovecot/login
login_executable(default): /usr/libexec/dovecot/imap-login
login_executable(imap): /usr/libexec/dovecot/imap-login
login_executable(pop3): /usr/libexec/dovecot/pop3-login
login_process_size: 512
login_processes_count: 500
login_max_processes_count: 5000
login_max_connections: 1000
max_mail_processes: 5000
mail_max_userip_connections: 2000
verbose_proctitle: yes
first_valid_uid: 5000
first_valid_gid: 5000
mail_location: maildir:/export/monster/mail/%d/%n:INDEX=/export/
monster/mail/%d/%n
mail_debug: yes
mmap_disable: yes
mail_nfs_storage: yes
mail_nfs_index: yes
maildir_stat_dirs: yes
mbox_read_locks: dotlock
mbox_write_locks: dotlock
mail_executable(default): /usr/libexec/dovecot/imap
mail_executable(imap): /usr/libexec/dovecot/imap
mail_executable(pop3): /usr/libexec/dovecot/pop3
mail_process_size: 512
mail_plugins(default): mail_log
mail_plugins(imap): mail_log
mail_plugins(pop3):
mail_plugin_dir(default): /usr/lib64/dovecot/imap
mail_plugin_dir(imap): /usr/lib64/dovecot/imap
mail_plugin_dir(pop3): /usr/lib64/dovecot/pop3
pop3_save_uidl(default): no
pop3_save_uidl(imap): no
pop3_save_uidl(pop3): yes
pop3_uidl_format(default): %08Xu%08Xv
pop3_uidl_format(imap): %08Xu%08Xv
pop3_uidl_format(pop3): %08Xv%08Xu
lda:
postmaster_address: xxx@xxxx.net
mail_plugins: sieve
log_path: /var/log/dovecot-deliver.log
info_log_path: /var/log/dovecot-deliver.log
auth_socket_path: /var/run/dovecot/auth-master
auth default:
mechanisms: plain login
failure_delay: 1
verbose: yes
debug: yes
debug_passwords: yes
worker_max_count: 500
passdb:
driver: sql
args: /etc/dovecot/dovecot-sql.conf
userdb:
driver: sql
args: /etc/dovecot/dovecot-sql.conf
socket:
type: listen
client:
path: /var/spool/postfix/auth
mode: 432
user: postfix
group: postfix
master:
path: /var/run/dovecot/auth-master
mode: 384
user: mailowner
group: mailowner
plugin:
mail_log_events: delete undelete expunge copy mailbox_delete
mailbox_rename
Also here is my dovecot-sql.conf
user_query = SELECT '/export/monster/mail/%d/%n' as home, 'maildir:/
export/monster/mail/%d/%n:INDEX=/export/monster/mail/%d/%n' as mail,
5000 AS uid, 5000 AS gid, concat('*:bytes=', quota) AS quota_rule FROM
mailbox WHERE username ='%u' AND active ='1'
password_query = SELECT MB.password FROM (mailbox as MB) LEFT JOIN
domain as D ON (D.id=MB.domain_id AND D.active='1') WHERE MB.username
= '%u' AND MB.active = '1' AND (D.id IS NOT NULL OR (MB.domain_id=0
and MB.name='SASL'))
I have disabled user prefetch because for some reason, I get this
error when it is active:
Nov 04 17:05:25 auth(default): Info: prefetch
(xxx@xxxx.net,xxx.xxx.xxx.xxx): passdb didn't return userdb entries,
trying the next userdb
Thanks for any help you can offer.
Jeffrey Nikoletich
On Thu, 2009-11-05 at 09:20 -0800, Jeffrey Nikoletich wrote:
Nov 04 17:31:22 auth(default): Error: worker-server(xxx@xxxx.com):
Aborted: Lookup timed out
This means it took over a minute to execute the SQL query.
The thing is, the errors only show when the user is attempting to send
a message.
Is your SMTP server also authenticating through Dovecot? That's the only reason I can think of.
I have disabled user prefetch because for some reason, I get this
error when it is active:Nov 04 17:05:25 auth(default): Info: prefetch (xxx@xxxx.net,xxx.xxx.xxx.xxx): passdb didn't return userdb entries,
trying the next userdb
Right, because you didn't any userdb_* fields in password_query. If you want to use prefetch, you should make your password_query return all the same fields as user_query, except with userdb_ prefix. That's anyway not related to why the lookup would be taking that long.
On Nov 5, 2009, at 11:47 AM, Timo Sirainen wrote:
On Thu, 2009-11-05 at 09:20 -0800, Jeffrey Nikoletich wrote:
Nov 04 17:31:22 auth(default): Error: worker-server(xxx@xxxx.com): Aborted: Lookup timed out
This means it took over a minute to execute the SQL query. I thought the same, but it times out the second the user hits send.
The thing is, the errors only show when the user is attempting to
send a message.Is your SMTP server also authenticating through Dovecot? That's the
only reason I can think of. Yes, I have postfix doing that.I have disabled user prefetch because for some reason, I get this error when it is active:
Nov 04 17:05:25 auth(default): Info: prefetch (xxx@xxxx.net,xxx.xxx.xxx.xxx): passdb didn't return userdb entries, trying the next userdb
Right, because you didn't any userdb_* fields in password_query. If
you want to use prefetch, you should make your password_query return all
the same fields as user_query, except with userdb_ prefix. That's anyway
not related to why the lookup would be taking that long. Ok, Thanks for the note.
participants (2)
-
Jeffrey Nikoletich
-
Timo Sirainen