Replication is broken with modseq issue in 2.3.6

David S. Madole david at
Thu Jul 6 21:23:20 EDT 2006

Bron Gondwana wrote:
> One downside of your patch - it changes the network protocol of
> replication so that 2.3.6 and 2.3.7 won't be able to replicate
> to each other in either direction - you'll have to upgrade both
> your machines at once.
I considered that and thought about making it compatible, but given that 
replication isn't usable in 2.3.6 period (or 2.3.4 or 2.3.5 for that 
matter), I don't see that particular case as being worth much concern.

It's not compatible with 2.3.3 or earlier either, but to me it makes 
little sense to have a replica that does not support the same feature 
set as the primary server and vice-versa. If I have client machines that 
start using conditional store and I need to fail over to a replica, I 
want conditional store to continue to work with no surprises to the clients.

Incidentally, the reason I decided to send the modseq right before the 
flags in the protocol was to that if someone wanted to extend the fix, 
it would be easy to change the receiving code to automatically detect 
whether a modseq was being sent or not by looking for the "(" that 
starts the flags field, and if not, to stuff a 1 value instead, and this 
way at least maintain compatibility in the case of older sending to newer.

However, given that this problem existed for over a month with no bug 
report filed and only one email on the topic to the list (which went 
unanswered), I figured not too many other people were interested in 
replication anyway at this point and that just making it work with 
itself properly at all was a good start.

More information about the Info-cyrus mailing list