Downgrading Riak TS
Downgrades of Riak TS are tested and supported for two feature release versions, with the general procedure similar to a rolling upgrade.
Debian/Ubuntu
The following example demonstrates downgrading a Riak TS node that has been installed with the Debian/Ubuntu packages provided by Riak. You should perform the following actions on each node:
1. Stop Riak TS:
riak stop
2. Back up the Riak TS node’s /etc
and /data
directories:
sudo tar -czf riak_backup.tar.gz /var/lib/riak /etc/riak
3. Downgrade Riak TS:
sudo dpkg -i »riakts_package_name«.deb
4. Restart Riak TS:
riak start
5. Verify Riak TS is running the downgraded version:
riak version
6. Wait for the riak_ts
service to start:
riak-admin wait-for-service riak_ts »target node«
»target node«
is the node which you have just downgraded (e.g.riak@192.168.1.11
)
7. Repeat the process for the remaining nodes in the cluster.
RHEL/CentOS
The following example demonstrates downgrading a Riak TS node that has been installed with the RHEL/CentOS packages provided by Riak.
1. Stop Riak TS:
riak stop
2. Back up Riak TS’s /etc
and /data
directories:
sudo tar -czf riak_backup.tar.gz /var/lib/riak /etc/riak
3. Downgrade Riak TS:
sudo rpm -Uvh --oldpackage »riakts_package_name«.rpm
4. Restart Riak TS:
riak start
5. Verify that Riak TS is running the downgraded version:
riak version
6. Wait for the riak_ts
service to start:
riak-admin wait-for-service riak_ts »target node«
»target node«
is the node which you have just downgraded (e.g. riak@192.168.1.11)
7. Repeat the process for the remaining nodes in the cluster.
Change riak.conf For Downgrade
If you freshly installed Riak TS 1.4.0 and did NOT upgrade from 1.3.1, and then choose to downgrade to 1.3.1, you will need to change your riak.conf to preserve your configuration settings. Three TS-specific configuration parameters have been changed when defining riak.conf:
1.4.0 Name | 1.3.1 Name |
---|---|
riak_kv.query.timeseries.timeout |
timeseries_query_timeout_ms |
riak_kv.query.timeseries.max_quanta_span |
timeseries_query_max_quanta_span |
riak_kv.query.timeseries.max_concurrent_queries |
timeseries_max_concurrent_queries |
So, for example, the riak_kv.query.timeseries.timeout
parameter would be changed to timeseries_query_timeout_ms
.
Riak Patches
After downgrading, you should ensure that any custom patches contained in
the basho-patches
directory are examined to determine their
application to the downgraded version. If you find that patches no longer
apply to the downgraded version, you should remove them from the
basho-patches
directory prior to operating the node in production.
The following lists locations of the basho-patches
directory for
each supported operating system:
- CentOS & RHEL Linux:
/usr/lib64/riak/lib/basho-patches
- Debian & Ubuntu Linux:
/usr/lib/riak/lib/basho-patches