How to write rolling upgrade IT among versions in elasticsearch project

Recently I checked out a new branch called 6.7.0_rc1 with some minor changes in elasticsearch, and I need to write some BWC test cases (UT or IT) to ensure rolling upgrade scenario from 6.7.0 to 6.7.0-rc1. Currently I didn't figure out how to implement this. Is there anyone can help me with this?

A few observations:

  • custom builds of Elasticsearch should not be considered suitable for production use
  • 6.7.0-rc1 would be a downgrade from 6.7.0; downgrades are not supported at all so there is no mechanism to write tests for them.
  • the 6.7 branch is unmaintained and the 6.7.0 release is not even the newest on that branch; you will be missing features and bug fixes if you are working with that version

You can experiment with changes by building them at the end of a maintained branch (7.x or 6.8 at time of writing) and use the existing rolling upgrade testing in e.g. qa/rolling-upgrades. See the subclasses of AbstractRollingTestCase for examples.

Thank you so much, I updated my local version to 6.7.1-alpha1, now I can start bwc tests with 6.7.0 by running ./gradlew :qa:rolling-upgrade:v6.7.0#bwcTest, but this task is still failed during subTask :qa:rolling-upgrade:v6.7.0#oldClusterTestCluster#wait with an exception thrown as

Failed to locate seed node transport file [/Users/kyra.wkh/work/workspace/aliyun-elasticsearch/qa/rolling-upgrade/build/cluster/v6.7.0#oldClusterTestCluster node0/elasticsearch-6.7.0/logs/transport.ports]: timed out waiting for it to be created after 40 seconds

I'm so confused as there's no other useful information for debugging. Could you please help me with this if you have encountered similar issue? Thank you :grinning:

As I mentioned, 6.7 isn't a maintained branch and 6.7.0 isn't even its tip. Can you reproduce this working from the tip of the 6.8 branch?

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.