Reputation: 350
I am running a single node dev system under couchbase server CE5.1.1 (Community Edition) with the official docker image. I now wanted to upgrade to CE6.5.1. I did so following the upgrade guide by first upgrading to CE6.0.0 and after that upgrading to CE6.5.1. I do upgrade a single node by just shutting down the container, change container version und startup container again.
The first step from CE5.1.1 to CE6.0.0 works and all my existing buckets are migrated. But the 2nd step from CE6.0.0 to CE6.5.1 fails at warmup after starting the CE6.5.1 image. The messages in babysitter.log show:
memcached<0.114.0>: 2020-06-27T13:00:56.812806+00:00 CRITICAL () Warmup::createVBuckets aborting warmup as vb:2 datafile is unusable, name-spacing is not enabled.
multiple times for all buckets. I took a look at the kvengine source and only found a comment, that collections and repl needs “namespace” as an attribute in the vBucket.
So is there a way to upgrade to CE6.5.1 while keeping my existing buckets? How would I add “namespace” to a bucket in CE5.1.1 or CE6.0.0? Or Do I have to make a full backup of CE6.0.0 and a CE6.5.1 restore?
Upvotes: 2
Views: 61
Reputation: 350
After investigating this problem in details I finally found a solution:
Shutdown your database container and backup your data :slight_smile:
Start your database with the new 6.5.1 CE docker image. The database will not start, as there is a new thing called “namespace” with needs to be updated in your data. So we do this manually.
docker into your running container with docker exec -it bash
Stop the running instance with /opt/couchbase/bin/install/systemd-ctl stop
Start the update process with /opt/couchbase/bin/cbupgrade -c /opt/couchbase/var/lib/couchbase/config/ This will start the update interactively. just answer the questions with yes and the update will run.
After upgrade finishes exit the shell and restart the container with docker restart
The db server now start normally and should warmup as usual.
Upvotes: 0