Re: [POLL] Cyrus 2.3.x and CONDSTORE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

----
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux