Hi, I turned debug on, but no particular info about any fall back to full indexing.
So I modified squatter.c and rebuilt binary to have some output.
I added some output in squat_single right after the last "goto bail" else section, right before starting the actual incremental indexing for cycle.
What I discovered is that all mailboxes that changed (not skipped) are being indexed incrementally (no goto bail for any error), but for some unknown reasons some of them don't get any matching UID on the old index file in the for cycle, so they all get indexed.
Some of them are big archives of years, that receive few new mails almost daily (archived by the users), and here I get the whole archive being indexed and take 30-40 mins!
Most of the other folders are correctly indexed incrementally, e.g. seeing the actual 2 new messages of the day indexed.
Most of the other folders are correctly indexed incrementally, e.g. seeing the actual 2 new messages of the day indexed.
What may be the reason for the following piece of code to never skip any matching uid?
for (msgno = 1; msgno <= state->exists; msgno++) {
uint32_t uid = index_getuid(state, msgno);
/* Scan uid_item list for matching UID (ascending order, 0 termination) */
while (uid_item->uid && (uid_item->uid < uid))
uid_item++;
if ((uid_item->uid == uid) && uid_item->flagged)
continue;
/* This UID didn't appear in the old index file */
index_getsearchtext_single(state, msgno, search_text_receiver,
&data);
uid_item->flagged = 1;
}
Gabriele
Sonicle S.r.l. : http://www.sonicle.com
eXoplanets : https://gabrielebulfon.bandcamp.com/album/exoplanets
Da: ellie timoney <ellie@xxxxxxxxxxxx>
A: cyrus info <info@xxxxxxxxxxxxxxxxxx>
Data: 4 marzo 2021 23.37.30 CET
Oggetto: Re: Again on squatter and cyrus imap 2.5.11
On Wed, 3 Mar 2021, at 3:44 AM, Gabriele Bulfon via Info wrote:Problem is that I don't see any debug output from squatter saying that something went wrong so it falls back.I have syslog.conf with "local6.debug /sonicle/var/log/imap/imapd.log" and I can see all the info logs of squatter there, but no debugs.Is there anything I can do here?Do you have "debug: yes" in imapd.conf? IIRC Cyrus won't log to LOG_DEBUG at all, regardless of your syslog config, unless this setting is also enabled. (I imagine this is so that you can leave syslog configured for debug logging all the time, and just turn it on and off in Cyrus as you need it/don't need it.)