Kevin Brown wrote: > Paul J Stevens wrote: > >> >>Kevin Brown wrote: >> >> >>>>From what I can tell, just doing a STORE of attributes is enough. I >>>can recreate the problem and email you the logs if you're interested. >> >>I was more like thinking about some sort of lazy caching where _ic_store >>does not call db_getmailbox if the previous imap command was also >>_ic_store. >> >>So yes: please do send me a command sequence I can work with. > > > Did what I send you wind up being useful in any way? > >
Kevin, I've been rather busy keeping my business afloat doing paid-for production work lately. The problem by now is well understood; repeating the same command sequentially for many messages in the same mailbox needs to be optimized using server-side caching. In this particular case: - the acl calls shouldn't be triggered every time when the acl for a particular mailbox has already been established. In general, the acl calls for a mailbox are too expensive already (a known bug), but in this case they are called many times as well, an unacceptable situation. - since store doesn't change the mailbox, db_getmailbox should not be called if the ud->mailbox structure is still up-to-date; that is, if the previous command was also a store command we can assume to a certain (limited) extend that the mailbox hasn't changed. This means we should defer db_getmailbox to situations where the ud->mailbox structure appears to be out-of-sync. that's about all I can think of at this time. Did you file a bug report for this issue already? If not, please do, so I can dig into it at a later moment. -- ________________________________________________________________ Paul Stevens mailto:[EMAIL PROTECTED] NET FACILITIES GROUP PGP: finger [EMAIL PROTECTED] The Netherlands________________________________http://www.nfg.nl