\HasChildren incorrect
Martin Konold
martin.konold at erfrakon.de
Thu Jul 20 04:07:57 EDT 2006
Am Mittwoch, 19. Juli 2006 19:47 schrieb Ken Murchison:
Hi Ken,
> I like the design of the patch, but I'm not sure that using the mailbox
> sort order is correct for ALL databases (seen state, annotations).
> Perhaps the comparator function should be selectable by a flag. I need
> to think about this a little bit.
> but I'm not sure that using the mailbox sort order is correct for ALL
> databases (seen state, annotations).
I am using this patch with Kolab successfully since some limited time. Kolab
makes heavy use of annotations etc.
I quickly verified mboxlist_db quota_db seenstate_db and subscription_db.
They all look fine and working to me.
> Perhaps the comparator function should be selectable by a flag.
This feature sould then be analogous to the way how bdb implements a user
definable comparator function. Though I consider it currently as being
slighly overenginered. (*)
(*) If cyrus_skiplist is supposed to become a generic db backend imho a
selectable or better user changeable (via a callback) comparator function is
a must but for within Cyrus Imapd I have the impression that a single
comparator is fine according to the kiss principle.
> > BTW: What is the future of the bdb backend?
>
> Its still the most efficient backend for random access databases like
> deliver.db and tls_sessions.db
Thanks for hinting at this issue. Do you think it is feasable to improve the
random access performance(*) of cyrus_skiplist? Maybe using suitable
indexing?
I have the impression that from the point of view of the Cyrus imap server it
is important that the deliver.db performes with regards to throughput and
resource requirements not latency. I am concluding this because I assume that
the deliver.db is mainly used for non interactive tasks.
Is this correct?
(*) IMHO performance in this context means several issues:
- latency time (how long does it take to finish a single task)
- throughput (how many potentially concurrent operations can be handled
in a fixed time frame)
- scalablity with the number of entries
- scalability with the number of concurrent accesses/sessions
- cpu usage
- memory usage
Regards,
-- martin
--
http://www.erfrakon.com/
Erlewein, Frank, Konold & Partner - Beratende Ingenieure und Physiker
More information about the Cyrus-devel
mailing list