[POLL] Cyrus 2.3.x and CONDSTORE
David S. Madole
david at madole.net
Fri Jul 7 13:45:19 EDT 2006
Ken Murchison wrote:
> Is anyone actively using the CONDSTORE extension supported in Cyrus
> 2.3.x? I'm only aware of one client that supports it, so I'm thinking
> the user base is quite small.
> The reason I ask is that I want to push out a 2.3.7 release ASAP which
> contains a number of important bugfixes, but I've realized that the
> replication protocol doesn't have any support for the metadata that is
> used by CONDSTORE. I started fixing this but I'm wondering if these
> changes should be post 2.3.7.
> Would anyone freak out if 2.3.7 doesn't properly support CONDSTORE and
I don't know for sure if I am using it, because I don't know what all of
my clients are, but I bet it's pretty doubtful.
However, I think that if the capability is advertised, it should work as
expected, which to me includes replication. If someone out there is
using condstore against my server and I switch to the replica, it should
continue to work as expected, and not suddenly roll back all the modseqs
If there was a way to disable advertising the CONDSTORE capability so
that clients wouldn't use it, that might be a different matter. Even
better if it defaulted to being disabled, so that someone enabling it
would need to be aware of their action and possibly the consequences.
In regard to the current state, replication is basically completely
broken in 2.3.4 though 2.3.6 because of the modseq issue. To me, it's
better to have it work properly (even it if means being incompatible
with old versions) than to not work at all, and the worst scenario would
be for it to pretend it's working by "faking it" and just stuffing the
modseq. At least if it's just plain incompatible it would choke out a
parse error message and someone should notice it's not working, rather
than being caught by surprise when they actually tried to use the
replica after a problem.
The best, of course, would be to be compatible with older versions. The
meaningful case of that, an older server replicating to a newer one, is
easy to implement as I have noted earlier. The other way around would be
harder to implement and could never truly be called correct anyway (in
my book), since the older server could not support condstore and a
replication that is throwing out some of the information isn't really
Sorry -- to get back to your question, I wouldn't freak out. I would
just patch it and get on with life until you felt the right solution
could be implemented, whatever that was. It's not like you would be
moving backwards from 2.3.6.
More information about the Info-cyrus