There is a higher bookkeeping cost when only \Seen state changes because rather than just updating seen.db, we also have to tweak cyrus.index. The cost may not be enough to worry about, but since \Seen state is most likely the most frequently used flag (and most likely is changed separately from other flags), I didn't want to force CONDSTORE on people until we had a good handle on the performance hit.

Bron Gondwana wrote:
Hi Ken, everyone,

Can anyone think of a good reason why CONDSTORE isn't enabled
by default for everyone all the time?  Back when it wasn't
stable, fair enough - but I think it's pretty close now, and
am willing to put a bit more effort in to finishing the job...

Thunderbird 3 will support CONDSTORE to reduce the FLAGS traffic
quite considerably, and hopefully other clients will follow suit
if there is enough server support to be worth the effort.

Looking at the code, the "bookkeeping" cost is quite low, and
it always touches records that are being updated anyway, so the
writes will be combined in the same block most of the time.

Besides, it will simplify the code considerably to remove all
the tests for "CONDSTORE ENABLED" everywhere.

Bron ( looking at turning it on for all new mailboxes soon,
       and then enabling it for all the old ones )


--
Kenneth Murchison
Systems Programmer
Carnegie Mellon University

Reply via email to