ClickHouse Releases: Upgrade or not Upgrade
June 4, 2018
ClickHouse team has released 1.1.54385 version recently. This is yet another bugfixing update in a row of small updates that followed 1.1.54378 release from mid-April. Unfortunately, ClickHouse test coverage is not perfect, and sometimes new features are accompanied by disappointing regressions. ClickHouse team certainly addresses problems in hotfix releases, but ClickHouse streamlined release version numbering makes it not easy to distinguish hotfixes from the feature releases. So how to decide is it safe to upgrade or not?
Check official 'Release Notes'. Sometimes they could be outdated, but not too much. If release has a lot of new features, there is a potential risk of a regression. Look at new features and improvements, and decide if there is something that you may need. It would be great to have 'Known Issues' as well, but not yet.
Look at community Telegram channels and GitHub issue tracker to see if there are any serious issues being discussed. Not all potential problems are show stoppers, but it may give you a sense of what to expect.
Try upgrading the test environment and perform your own integration tests. You test environment should be as close to production as possible. For example, if you use replication -- test enviroment should use replication as well, if you use remote replicas -- test environment should have remote replica as well. If you have monitoring system -- analyze meterics and check if there are any suspicious changes in resource utilization, certain types of events and so on. If you don't have monitoring system -- well, you'd better to have one, e.g. Graphite (see instructions here), Prometheus or Zabbix.
Rule #4 and The Last One
Ask Altinity. Yes, we have many clients, and we overlook various ClickHouse deployments. Newest releases are always tried by us or our clients, and we know of problems if any. For example, if you would ask us some time ago does it worth upgrading to 1.1.54378 -- the answer would be 'strictly no'. 1.1.54380 is ok if you do not have replication, 1.1.54381 is ok if you do not have too many replicas, and 1.1.54383 is fine unless you are very unlucky to hit Zookeeper library bug. Finally ClickHouse release 1.1.54385 does not seem to have stability issues. For the reference, here is the full list of "Altinity approved" releases that we think are stable for production use: 1.1.54292, 1.1.54327, 1.1.54343 and the latest 1.1.54385.
One of the big challenges for ClickHouse development team is to improve integration and performance tests coverage. This is going to be the major task for ClickHouse core developers in the next few months. Also, we expect to see the change in release numbering. Meanwhile, a lot of new functionality is coming very soon, including partial support for DELETE (yes!) , so let's be patient to wait for new releases to stabilize.