[ 
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:45 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: 20m
>  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-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to