Skip to content

Release TODO before release new major version

Masahiro Nakagawa edited this page May 26, 2016 · 1 revision

This article describes TODO list before major version up. The purpose is avoiding user troubles by installing new major version. If we release new version without pre/rc, it means "gem install fluentd" installs new major version, not stabled verison.

Must list

Check popular plugins work or not.

We should check popular plugins work with new major version. Run plugin tests and test plugin with actual environment.

  • td, s3, mongo, webhdfs, kafka, kinesis, flume, elasticsearch, sql, mysql, pgjson, parser, route, forest, influxdb, twitter, netflow and more
  • Certified plugins should be tested: http://www.fluentd.org/plugins/all

Check the performance with typical cases, tail, multiple forwarding, copy, grep / mutate filter, label.

We should check the performance with typical cases because the performance affects user's configurations / deployment. If the performance is down, it may causes stucking data flow.

Here is the important metrics:

  • Measure events/sec
  • CPU / Memory usage
  • The trend of buffer queue length

We can use fluentd-benchmark for forwarding performance test.

Optionally, testing with each ruby version is better for recommending best ruby version.

Check Windows support

Check built-in plugins and some popular plugins work on Windows, e.g. td, s3, elasticsearch and more.

In addition, we should check the performance on Windows using same machine spec for Linux performance test.

Check interoperability between old version and new version.

We should check the interoperability because user mixes old version and new version for rolling update.

Check both old -> new and new -> old patterns.

Optional

Add new feature documents to docs.fluentd.org.

Understandable documents are needed for users. If we have a compatibility, this section is optional.

Misc documents for new version to docs.fluentd.org, e.g. how to develop plugins by new API way.

This is not critical on production but need to know details of new features.

Migration tool for plugins and configurations.

It is useful when plugin developers try to adapt new APIs.