[Box Backup] Release Candidate 3
Ben Summers
boxbackup@fluffy.co.uk
Sun, 19 Feb 2006 10:21:38 +0000
On 18 Feb 2006, at 19:38, Chris Wilson wrote:
> Hi Stefan,
>
>> I also think there should be some kind of backwards compatibility,
>> but remembering this is the first "collaborative" release with the
>> Windows source merged in etc the backwards compatibility
>> requirement could be "waived" for this release I think. However,
>> IMHO it should be a requirement for future releases.
>
> I can't see any good reason to break it for this release. Only new
> features have been added to the protocol. Until I fixed keepalives
> and enabled them in my config, the new clients were working fine
> with my 0.09 server. Likewise, I can't see any reason that a 0.10
> server shouldn't work with 0.09 clients in any configuration.
I "broke" backwards compatibility by bumping the protocol number
because...
* A 0.10 server will appear talk to a 0.09 server just fine.
* But if it does a long diff operation, it will send a keep alive
message.
* At this point, the 0.09 server will exception and terminate the
connection.
* The backup will never proceed past this point.
* The administrator may not realise unless they're keeping a careful
eye on the logs.
The other alternative is to get the client to work out which version
it's talking to, and behave accordingly. The Version command is the
appropriate mechanism to do this (and can be done carefully) but it's
another code path to be tested carefully and to potentially go wrong,
an automated test is difficult, and I'm not accepting new features
right now anyway.
Yes, something could be done, but it's not the most conservative
choice. And since we're writing something which is supposed to look
after people's precious data, we have to take decisions which result
in the most reliable and predictable system.
Ben