Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Many distributed open source systems has rolling upgrade feature, already.
We must study implemented approaches to gain some insights from them.


  • Is there rolling upgrade feature?
  • How it implemented?
  • How it tested?
  • When it tested: Each PR? Weekly? Only on release? 

Apache Cassandra

Has rolling upgrade feature.
Server-client compatibility works similar to Ignite 
Compatibility checked with the special test framework - https://github.com/apache/cassandra-dtest/blob/trunk/upgrade_tests/README.md
At a first glance, there are no special source code checks to ensure compatibility in day by day coding. 

Apache Kafka

...

Yugabyte

Cockroach DB

...

Alternative designs

  • subsystem API versions (like in REST API)
  • runtime component(IgniteProcessor, IgniteManager) upgrade with the dynamic class loading.
  • ability to run tests with random node versions
  • patterns for implementing commons cases: new version of algorithmes, testing against new versions.