Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Code - Bug - Unclear Impact
-
Low
-
Low Hanging Fruit
-
User Report
-
All
-
None
-
Description
It looks like the version families are a bit confused - when we determine version family for the current build, we do:
if current_version.vstring.startswith('2.0'): version_family = '2.0.x' elif current_version.vstring.startswith('2.1'): version_family = '2.1.x' elif current_version.vstring.startswith('2.2'): version_family = '2.2.x' elif current_version.vstring.startswith('3.0'): version_family = '3.0.x' elif '3.1' <= current_version < '4.0': version_family = '3.x' elif '4.0' <= current_version < '4.1': version_family = 'trunk' else: # when this occurs, it's time to update this manifest a bit! raise RuntimeError("4.1+ not yet supported on upgrade tests!")
but later, in the upgrade manifest we have:
indev_2_1_x = VersionMeta(name='indev_2_1_x', family='2.1', variant='indev', version='github:apache/cassandra-2.1', min_proto_v=1, max_proto_v=3, java_versions=(7, 8)) current_2_1_x = VersionMeta(name='current_2_1_x', family='2.1', variant='current', version='2.1.20', min_proto_v=1, max_proto_v=3, java_versions=(7, 8)) indev_2_2_x = VersionMeta(name='indev_2_2_x', family='2.2', variant='indev', version='github:apache/cassandra-2.2', min_proto_v=1, max_proto_v=4, java_versions=(7, 8)) current_2_2_x = VersionMeta(name='current_2_2_x', family='2.2', variant='current', version='2.2.13', min_proto_v=1, max_proto_v=4, java_versions=(7, 8)) indev_3_0_x = VersionMeta(name='indev_3_0_x', family='3.0', variant='indev', version='github:apache/cassandra-3.0', min_proto_v=3, max_proto_v=4, java_versions=(8,)) current_3_0_x = VersionMeta(name='current_3_0_x', family='3.0', variant='current', version='3.0.23', min_proto_v=3, max_proto_v=4, java_versions=(8,)) indev_3_11_x = VersionMeta(name='indev_3_11_x', family='3.11', variant='indev', version='github:apache/cassandra-3.11', min_proto_v=3, max_proto_v=4, java_versions=(8,)) current_3_11_x = VersionMeta(name='current_3_11_x', family='3.11', variant='current', version='3.11.9', min_proto_v=3, max_proto_v=4, java_versions=(8,))
later on in the code we have some manifest filtering:
if filter_for_current_family and not origin_meta.matches_current_env_version_family and not destination_meta.matches_current_env_version_family: logger.debug("skipping class creation, origin version {} and destination version {} do not match target version {}, and --upgrade-target-version-only was set".format(origin_meta.name, destination_meta.name, VERSION_FAMILY)) continue
This does not cause any problems for trunk, but when I tried to run some upgrade tests on 3.11 build, I could not do anything.
Therefore we need to either change families in manifest as follows:
- 2.1 -> 2.1.x
- 2.2 -> 2.2.x
- 3.0 -> 3.0.x
- 3.11 -> 3.x
or change how we assign version family for the current build
Attachments
Issue Links
- links to