Jacek Lewandowski created CASSANDRA-16433:
---------------------------------------------

             Summary: Version family is probably broken for Cassandra 2 and 
3.11 in dtests
                 Key: CASSANDRA-16433
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16433
             Project: Cassandra
          Issue Type: Bug
          Components: Test/dtest/python
            Reporter: Jacek Lewandowski
            Assignee: Jacek Lewandowski


It looks like the version families are a bit confused - when we determine 
version family for the current build, we do:

{code:python}
    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!")
{code}

but later, in the upgrade manifest we have:

{code:python}
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,))
{code}

later on in the code we have some manifest filtering:

{code:python}
            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
{code}

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





--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to