[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 
> replication?
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 
to 1.

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 
replication.

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.

David



More information about the Info-cyrus mailing list