dovecot-uidlist is not up-to-date
Hi,
Am using dovecot-2.2.10-8 on Centos-7 and everything seemed to be totally fine for many years. Now am trying to migrate our on-premises mail server to the cloud and I had to get some statistics. I was doing that using the doveadm utility.
Unfortunately I found that the numbers don't match if I check the real messages in my Maildirs. For some account doveadm was reporting number of messages but that account didn't have any messages stored at all.
So I looked a bit further and found that doveadm utility reports data form indexes and indexes are built using dovecot-uidlist data. For quite some folders these files have way more data than actual mailbox has. For example, my personal Inbox has 569 messages but dovecot-uidlist has 716 entries.
I don't know when and how that happened but this happens a lot on many different mailboxes on my server. I never touched dovecot-uidlist files outside of dovecot. I might have removed messages from Maildirs though, but not at this scale.
Now the question is if there's any way to tell dovecot to rebuild dovecot-uidlist files using actual Maildir data. I don't want to remove dovecot-uidlist files as this triggers the whole mailbox being re-downloaded by the imap client. With some accounts having over 100Gb of mail this is too much of a hassle. I just need dovecot itself to fix it's data.
Thanks,
Fil
-- Dmitry Filonov Network Analyst 300 Longwood Ave. Enders-1262.2 Boston, MA 02115 617-919-4702
On 2018-03-21 (17:15 MDT), Dmitry Filonov filonovd@enders.tch.harvard.edu wrote:
Now the question is if there's any way to tell dovecot to rebuild dovecot-uidlist files using actual Maildir data. I don't want to remove dovecot-uidlist files as this triggers the whole mailbox being re-downloaded by the imap client. With some accounts having over 100Gb of mail this is too much of a hassle. I just need dovecot itself to fix it's data.
doveadm index -A '*'
if that doesn't work then perhaps
doveadm force-resync -A '*'
of course you can use -u <user> for a specific user instead of -A for all users.
-- On 20-12-2013 Wes Groleau wrote:
On 12-20-2013, 10:04, George Kerby wrote:
'Tis the Season to bitch and moan.
That doesn't fit the tune you @#$%#$&%$*#$@%T#^% !
Tried that. It rebuilds index based on dovecot-uidlist. But not the dovecot-uidlist based on actual mail data. :(
Fil
On March 21, 2018 11:58:21 PM EDT, "@lbutlr" kremels@kreme.com wrote:
On 2018-03-21 (17:15 MDT), Dmitry Filonov filonovd@enders.tch.harvard.edu wrote:
Now the question is if there's any way to tell dovecot to rebuild dovecot-uidlist files using actual Maildir data. I don't want to remove dovecot-uidlist files as this triggers the whole mailbox being re-downloaded by the imap client. With some accounts having over 100Gb of mail this is too much of a hassle. I just need dovecot itself to fix it's data.
doveadm index -A '*'
if that doesn't work then perhaps
doveadm force-resync -A '*'
of course you can use -u <user> for a specific user instead of -A for all users.
-- On 20-12-2013 Wes Groleau wrote:
On 12-20-2013, 10:04, George Kerby wrote:
'Tis the Season to bitch and moan.
That doesn't fit the tune you @#$%#$&%$*#$@%T#^% !
-- Sent from my Android device with K-9 Mail. Please excuse my brevity.
Did you try removing the file?
Aki
On 22.03.2018 06:32, Dmitry Filonov wrote:
Tried that. It rebuilds index based on dovecot-uidlist. But not the dovecot-uidlist based on actual mail data. :(
Fil
On March 21, 2018 11:58:21 PM EDT, "@lbutlr" kremels@kreme.com wrote:
On 2018-03-21 (17:15 MDT), Dmitry Filonov <filonovd@enders.tch.harvard.edu> wrote: Now the question is if there's any way to tell dovecot to rebuild dovecot-uidlist files using actual Maildir data. I don't want to remove dovecot-uidlist files as this triggers the whole mailbox being re-downloaded by the imap client. With some accounts having over 100Gb of mail this is too much of a hassle. I just need dovecot itself to fix it's data. doveadm index -A '*' if that doesn't work then perhaps doveadm force-resync -A '*' of course you can use -u <user> for a specific user instead of -A for all users.
-- Sent from my Android device with K-9 Mail. Please excuse my brevity.
Yes. That makes imap client to re-download whole mail folder. Not an acceptable solution to me :(
Fil
On March 22, 2018 5:05:26 AM EDT, Aki Tuomi aki.tuomi@dovecot.fi wrote:
Did you try removing the file?
Aki
On 22.03.2018 06:32, Dmitry Filonov wrote:
Tried that. It rebuilds index based on dovecot-uidlist. But not the dovecot-uidlist based on actual mail data. :(
Fil
On March 21, 2018 11:58:21 PM EDT, "@lbutlr" kremels@kreme.com wrote:
On 2018-03-21 (17:15 MDT), Dmitry Filonov
filonovd@enders.tch.harvard.edu wrote:
Now the question is if there's any way to tell dovecot to rebuild dovecot-uidlist files using actual Maildir data. I don't want to remove dovecot-uidlist files as this triggers the whole mailbox being re-downloaded by the imap client.
With some accounts having over 100Gb of mail this is too much of a hassle. I just need dovecot itself to fix it's data.
doveadm index -A '*' if that doesn't work then perhaps doveadm force-resync -A '*' of course you can use -u <user> for a specific user instead of -A
for all users.
-- Sent from my Android device with K-9 Mail. Please excuse my brevity.
-- Sent from my Android device with K-9 Mail. Please excuse my brevity.
participants (3)
-
@lbutlr
-
Aki Tuomi
-
Dmitry Filonov