While looking at protocol logs, I've noticed us fetching 1:* flags twice for some folders. This is very bad for large folders. I'll try to figure out what's going on.
Created attachment 350212 [details] [diff] [review] proposed fix If we're fetching all the flags without a CHANGEDSINCE clause, we need to mark the flag state as full, not partial. Then, we won't fall into this code: // if we did a CHANGEDSINCE fetch, do a sanity check on the msg counts // to see if some other client may have done an expunge. if (m_flagState->GetPartialUIDFetch()) and we'll avoid the double fetch.
I'd like this for b1 - it's a regression and slows down loading large imap folders.
Comment on attachment 350212 [details] [diff] [review] proposed fix > if (!needFullFolderSync && !GetShowDeletedMessages() && UseCondStore()) > PR_snprintf(fetchModifier, sizeof(fetchModifier), " (CHANGEDSINCE %llu)", > mFolderLastModSeq); >+ else >+ m_flagState->SetPartialUIDFetch(PR_FALSE); >+ > > FetchMessage(idsToFetch, kFlags, fetchModifier); nit: I don't think we need the extra blank line adding.
fixed for tb 3.0 b1
Status: NEW → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9.1b1
You need to log in before you can comment on or make changes to this bug.