upgrade process?

David Smith dizzyd at basho.com
Tue Nov 23 10:18:46 EST 2010


On Tue, Nov 23, 2010 at 7:43 AM, Colin Surprenant
<colin.surprenant at gmail.com> wrote:
> Are there any restrictions, incompatibilities between versions which
> could break a rolling upgrade?

Good question. In our internal testing we have started verifying that
sequential releases (i.e. 0.12 -> 0.13) support the rolling upgrades
cleanly. We've endeavored to do this in the past, but in releases
prior to 0.12 didn't have automated verification of this property. I
believe (speaking personally) that the Riak project is at a point now
where breaking changes between releases are just not going to work --
the upgrade process should be smooth and transparent.

There is an outstanding question of how smooth the upgrade process
should be across non-sequential versions (i.e. 0.10 -> 0.13). It's
very easy to do this sort of testing superficially and miss important
edge cases.

> For example, I am still running 0.10 + innostore on a 3 nodes cluster
> and I would like to upgrade to 0.13. What would be my best upgrade
> option? do a rolling upgrade directly from 0.10 to .13 or do it
> incrementally for all versions between 0.10 and 0.13?

Given the leap of the upgrade you are describing, I would _strongly_
recommend setting up a test environment that's as similar to your
production as possible (load, data set, etc). As I noted in my
previous email, it should work, but I can't guarantee it. :)

> For me a rolling upgrade would be best but I could manage a few hours
> downtime for a faster and/or easier process by taking the cluster down
> for the upgrade. Like Mark, performing a backup/restore is not really
> an option.

Yes, I definitely agree that a backup/restore is onerous and
unrealistic for most deployments. We should annotate that doing a
backup is strongly recommended but optional.

I'd note that if you're using bitcask, you can do such a backup
without ever stopping the server. Innostore is less straightforward,
unfortunately.

> (David Smith gave me some hints about the compatibility of 0.10 vs
> 0.13 http://lists.basho.com/pipermail/riak-users_lists.basho.com/2010-November/002435.html
> but this is mostly a "it _should_ work" which is rather vague)

My vagueness re: 0.10 -> 0.13 was driven by the simple reality that we
haven't tested it formally and we don't have a policy of testing an
upgrade across that many versions.

> The upgrade process documentation between versions should definitely
> be improved.

Agreed -- we'll be working on that.

Thanks for the feedback!

D.




More information about the riak-users mailing list