43ab0dbe6b498a414a34c3e1c782f4fa5507b34e |
|
11-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Fix setting highest_modseq correctly in mail_index_modseq_header
The internally counted ctx->highest_modseq wasn't correct if all of the
records weren't synced. This could have happened for various reasons.
Since the view's current log seq/offset is used for the header, we can
also use the current highest_modseq from the view as well and it's
guaranteed to be correct.
This fixes various potential problems with using QRESYNC and CONDSTORE
extensions. It also fixes potential errors with unhibernating imap
clients, including:
Error: .../dovecot.index.log: Transaction log changed unexpectedly, can't get modseq |
4f8f6d697512cb8fd7f3f28383c737b01aedeff8 |
|
09-Jun-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: modseq -> {log file, offset} lookup often ignored dovecot.index.log.2
This caused the code to think that the modseq was too old and fall back into
slower sync.
So this change should fix the dsync "Modseq .. nom longer in transaction
log" warnings as well as improve IMAP QRESYNC efficiency. |
d7c8280f58292cc292eba9209dcc9024fe96cf06 |
|
03-May-2012 |
Timo Sirainen <tss@iki.fi> |
lib-index: Updated dovecot.index file only by recreating it, never write to it directly.
This is safer, and nowadays there shouldn't be much of a performance loss
with it either, since dovecot.index isn't updated very often.
This also allows removing all locking from dovecot.index file, although for
now we'll keep it in case old Dovecot versions are simultaneously writing to
the index. |