End of Life Coming to MongoDB Version 3.4 and How to Start Upgrading

3 min read

The End-of-Life (EOL) date for MongoDB 3.4 is approaching

As you may know, the End-of-Life (EOL) date for MongoDB 3.4 is approaching. This means that in January 2020, MongoDB is ending support for version 3.4. 

What happens on January 31st, 2020?

  • We will no longer allow customers to provision new instances of Databases for MongoDB 3.4; however, you will be able to restore your existing instance into a new version.
  • In line with our version policy, we will remove access to the database and take a backup. This backup will be available to be restored into a new supported database version. We will retain the backups for 30 days, in accordance with our documentation.

As a consequence, you should plan on migrating your databases over to MongoDB version 3.6 or version 4.0 and making any modifications to your applications that may need to be made.

Migrating to MongoDB version 3.6 or 4.0

There are a few ways that you can upgrade your current version of MongoDB to 3.6 or 4. We'll cover them below.

Upgrade from a backup

The first option is to upgrade through your Databases for MongoDB deployment's management view. From there, select the Backups tab and either create a new on-demand backup or select a backup from the list and click on the blue arrow on the right side of the backup. That will open a box that will give you something like this:

Upgrade from a backup

Click on the blue Restore button to restore that backup into a new Databases for MongoDB deployment. A window will appear after clicking that button.

From the Select a version option, click it and choose 3.6. Select a region and change the service name to whatever you want it to be. Then, click the blue Restore button.

mon2

Upgrade from the IBM Cloud CLI

When you want to upgrade and restore your Databases for MongoDB deployment from the IBM Cloud CLI, you'll have to first find the backup that you want to use for the new deployment. You can do that using the following command for listing backups:

ibmcloud cdb backups <database name>

You'll receive a list of backups. For the latest one, choose the first backup. The backup ID might look something like this:

crn:v1:bluemix:public:databases-for-mongodb:us-south:a/dddd44448888999993333:29f97017-ebb8-4951-99999-ccccc:backup:33333-9636-45ed-93c8-64646464646

Using that backup ID, we can create a new Databases for MongoDB deployment that will use that backup and restore it into the newly provisioned database. The command we'll use is as follows:

ibmcloud resource service-instance-create <service-name> <service-id> <service-plan-id> <region>

The parameters service-nameservice-idservice-plan-id, and region are all required. You will also have to supply -p with the version and backup ID parameters in a JSON object. The backup will automatically have the same disk and memory size as the source deployment at the time the backup was taken.

The full command will look something like this:

ibmcloud resource service-instance-create example-es-upgrade databases-for-mongodb standard us-south \
-p \ '{
  "backup_id": "crn:v1:bluemix:public:databases-for-mongodb:us-south:a/dddd44448888999993333:29f97017-ebb8-4951-99999-ccccc:backup:33333-9636-45ed-93c8-64646464646",
  "version":3.6
}'

Note that the version field must be the version of MongoDB that you want to upgrade to. If you're on version 3.4, then the next major version is 3.6. If you want to upgrade from 3.4 to 4.0, then you have to first upgrade to version 3.6 then to version 4.0.

Upgrade from the IBM Cloud API

Another way to upgrade your database is through the IBM Cloud API. You'll still have to retrieve the backup ID, and you'll have to send a POST request with the nametargetresource_group, and resource_plan_id using a command like this:

curl -X POST \
  https://resource-controller.bluemix.net/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
    -d '{
    "name": "my-instance",
    "target": "bluemix-us-south",
    "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
    "resource_plan_id": "databases-for-mongodb-standard",
    "backup_id": "crn:v1:bluemix:public:databases-for-mongodb:us-south:a/dddd44448888999993333:29f97017-ebb8-4951-99999-ccccc:backup:33333-9636-45ed-93c8-64646464646",
    "version":3.6
  }'

For more information on upgrading options, please see the IBM Cloud Databases for MongoDB documentation.

Be the first to hear about news, product updates, and innovation from IBM Cloud