You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Tomasz Lasica (Jira)" <ji...@apache.org> on 2021/02/09 07:44:00 UTC

[jira] [Comment Edited] (CASSANDRA-16433) Version family is probably broken for Cassandra 2 and 3.11 in dtests

    [ https://issues.apache.org/jira/browse/CASSANDRA-16433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17281592#comment-17281592 ] 

Tomasz Lasica edited comment on CASSANDRA-16433 at 2/9/21, 7:43 AM:
--------------------------------------------------------------------

I am not a big fun of making things complex, and rather to abstract reality as simple as it is.

So to me family should reflect .... family... means:
 * 2.0.15 and 2.0.2 will be 2.0 family.
 * 3.11.8 and 3.11.9 will be 3.11 family.
 * 3.10.1 and 3.10.20 will be 3.10 family.
 * And 4.0.0  or 4.0.1. will be 4.0 family.

 

Explicit is better than implicit. Versions are are added not often, so no need to be smart in the way upgrade tests will automatically switch to latest, because we will have to make sure we still have enough tests for both pre-latest and latest in such case.


was (Author: tomasz.lasica):
I am not a big fun of making things complex, and rather to abstract reality as simple as it is.

So to me family should reflect .... family... means: 2.0.15 and 2.0.2 will be 2.0 family. 3.11.8 and 3.11.9 will be 3.11 family. 3.10.1 and 3.10.20 will be 3.10 family. And 4.0.0  or 4.0.1. will be 4.0 family.

 

Explicit is better than implicit. Versions are are added not often, so no need to be smart in the way upgrade tests will automatically switch to latest, because we will have to make sure we still have enough tests for both pre-latest and latest in such case.

> 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
>            Priority: Normal
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org