Hi All,

We recently moved from RHEL6 to RHEL7 and updated dovecot from dovecot-2.2.10-1_14.el6.x86_64 to dovecot-2.2.36-8.el7.x86_64. We use NFS for storing the mail, and 5 servers running at the same time.
Before updating dovecot we stopped the service and deleted all dovecot.index* files
Now we're experiencing some problems. For example, when deleting an email it is note deleted and appears again duplicated. These are the logs:

Feb 28 08:50:42 server5 dovecot: imap(user@domain): Error: Index path/Maildir/dovecot.index: Lost log for seq=5 offset=228: Missing middle file seq=5 (between 5..4294967295, we have seqs 4): Log is locked - newer log can't exist (initial_mapped=1, reason=Index mapped)
Feb 28 08:50:42 server5 dovecot: imap(user@domain): Warning: fscking index file path/Maildir/dovecot.index
Feb 28 08:50:42 server5 dovecot: imap(user@domain): Error: Failed to map transaction log path/Maildir/dovecot.index.log at sync_offset=10328 after locking: pread() failed: Stale file handle
Feb 28 08:50:42 server5 dovecot: imap(user@domain): Error: Index path/Maildir/dovecot.index: Lost log for seq=5 offset=228: Missing middle file seq=5 (between 5..4294967295, we have seqs 4): Requested newer log than exists - still after NFS flush: Log inode is unchanged (initial_mapped=1, reason=Index mapped)
Feb 28 08:50:45 server5 dovecot: imap(user@domain): Error: Failed to map transaction log path/Maildir/dovecot.index.log at sync_offset=10328 after locking: pread() failed: Stale file handle
Feb 28 08:50:45 server5 dovecot: imap(user@domain): Error: Failed to map view for path/Maildir/dovecot.index: Missing middle file seq=5 (between 5..5, we have seqs 4): Requested newer log than exists - still after NFS flush: Log inode is unchanged

Usually restarting the email client solves the problem for a while. We've tried deleting the indexes but it happens again some time later.

This is dovecot config:

dovecot -n
# 2.2.36 (1f10bfa63): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.24 (124e06aa)
# OS: Linux 3.10.0-1160.6.1.el7.x86_64 x86_64 Red Hat Enterprise Linux Server release 7.9 (Maipo)
# Hostname: server
auth_cache_negative_ttl = 5 mins
auth_cache_size = 500 M
auth_cache_ttl = 5 mins
auth_failure_delay = 5 secs
default_vsz_limit = 1 G
disable_plaintext_auth = no
hostname = server
imap_logout_format = in(bytes read)=%i out(bytes sent)=%o
listen = *
lock_method = dotlock
mail_fsync = always
mail_location = maildir:%h/Maildir
mail_nfs_index = yes
mail_nfs_storage = yes
mail_plugins = " quota mail_log notify"
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext imapflags notify
mbox_write_locks = fcntl
mmap_disable = yes
namespace {
  location = maildir:%h/Maildir/_backup
  prefix = _backup.
  separator = .
  type = private
}
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix =
}
passdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
plugin {
  mail_log_events = delete undelete expunge mailbox_delete mailbox_rename mailbox_create save
  mail_log_fields = uid box msgid from subject
  quota = maildir:_backup:ns=
  quota_exceeded_message = El espacio asignado para el almacenamiento del correo del destinatario ha superado su capacidad total. Por ello, el correo que usted intenta enviar no se puede entregar al destinatario.
  quota_warning = storage=70%% quota-warning 70 %u
  quota_warning1 = storage=90%% quota-warning 90 %u
  quota_warning2 = storage=95%% quota-warning 95 %u
  quota_warning3 = storage=99%% quota-warning 99 %u
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/Maildir/sieve
  sieve_extensions = +notify +imapflags
}
postmaster_address = postmaster@domain
protocols = imap pop3 sieve
service auth {
  unix_listener auth-userdb {
    group = vmail
    mode = 0666
    user = vmail
  }
}
service imap-login {
  inet_listener imap {
    port = 143
  }
  process_min_avail = 20
}
service imap {
  process_limit = 2048
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  inet_listener sieve_deprecated {
    port = 2000
  }
  process_min_avail = 20
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  process_min_avail = 20
}
service pop3 {
  process_limit = 2048
}
service quota-warning {
  executable = script /etc/dovecot/scripts_notification_quota/quota-warning.sh
  unix_listener quota-warning {
    user = vmail
  }
  user = vmail
}
ssl = no
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key =  # hidden, use -P to show it
submission_host = smtp.domain:25
syslog_facility = local1
userdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
protocol lda {
  mail_plugins = " quota mail_log notify sieve"
}
protocol imap {
  mail_max_userip_connections = 10000
  mail_plugins = " quota mail_log notify imap_quota"
}
protocol pop3 {
  mail_max_userip_connections = 10
}

Can you please help me?
Thanks in advance and best regards

--

Gonzalo Palacios Goicolea
U.T de Infraestructura de Equipos Centrales
Tecnologías de la Información
Universidad Autónoma de Madrid • Campus de Cantoblanco

    Antes de imprimir este correo piense si es necesario.Cuidemos el medioambiente.