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

Reply via email to