[
https://issues.apache.org/jira/browse/CASSANDRA-17912?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17608355#comment-17608355
]
Ekaterina Dimitrova edited comment on CASSANDRA-17912 at 9/22/22 5:07 PM:
--------------------------------------------------------------------------
On a second pass and also while reading into the upgrade_manifest and
CASSANDRA-16328, it seems we are running the right tests. Now I think the issue
is Jenkins not running udtfix tests but I think why they are skipped can be
tackled separately?
I think this is ready for review, to summarize:
-[3.0
patch|https://github.com/ekaterinadimitrova2/cassandra/commit/f99cff0621d00a86992dddecd9b6046b72086170]
[CI|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/1939/workflows/c06f6aeb-48b0-42d5-8952-af814341e782]
-[3.11
patch|https://github.com/ekaterinadimitrova2/cassandra/commit/7f4d236dacffa9a587eb8b783b118869a6f0e5be]
[CI|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/1940/workflows/b822932d-e171-4490-b794-f1d35deee5d9]
[~mck] , [~dcapwell] , anyone of you for review?
I can open a follow up ticket for Jenkins.
------
And some good news - the 3.0 upgrade tests run in Circle CI was brought from 1
hour 25 minutes to 47 minutes.
------
Tried to run those locally and I am puzzled:
{code:java}
$pytest --execute-upgrade-tests-only --upgrade-target-version-only
--upgrade-version-selection all --log-level="DEBUG"
--cassandra-dir=........./cassandra upgrade_udtfix_test.py -rxXs
============================================================================================================
test session starts
=============================================================================================================
platform darwin -- Python 3.8.13, pytest-3.6.4, py-1.9.0, pluggy-0.7.1
rootdir: /Users/ekaterina.dimitri/IdeaProjects/cassandra-dtest-d, inifile:
pytest.ini
plugins: flaky-3.7.0, timeout-1.4.2, repeat-0.9.1
timeout: 900.0s
timeout method: signal
timeout func_only: False
collected 20 items
upgrade_udtfix_test.py ssssssssssssssssssss
[100%]
==========================================================================================================
short test summary info
===========================================================================================================
SKIP [16] upgrade_tests/upgrade_udtfix_test.py: test not applicable to env.
SKIP [2] /Users/ekaterina.dimitri/IdeaProjects/cassandra-dtest-d/conftest.py:
3.0.27 < 3.11.6
SKIP [2] /Users/ekaterina.dimitri/IdeaProjects/cassandra-dtest-d/conftest.py:
3.0.28 < 3.11.6
=========================================================================================================
20 skipped in 4.66 seconds
=========================================================================================================
{code}
This is with plain cassandra-3.11 and also with the patched branch.
Double-checked the build.xml version and it is correct...
>From the test class:
{code:java}
for path in build_upgrade_pairs():
gen_class_name = UpgradeUDTFixTest.__name__ + '_' + path.name
assert gen_class_name not in globals()
spec = {'UPGRADE_PATH': path,
'__test__': True}
start_family = spec['UPGRADE_PATH'].starting_meta.family
upgrade_family = spec['UPGRADE_PATH'].upgrade_meta.family
start_family_applies = start_family == CASSANDRA_3_0
upgrade_applies_to_env = RUN_STATIC_UPGRADE_MATRIX or start_family_applies
cls = type(gen_class_name, (UpgradeUDTFixTest,), spec)
if not upgrade_applies_to_env:
add_skip(cls, 'test not applicable to env.')
globals()[gen_class_name] = cls
{code}
Anyway, I think those should be run for 3.11? I can add more info to a follow
up ticket for Jenkins. In a quick check I didn't see us setting for example
RUN_STATIC_UPGRADE_MATRIX neither in CircleCI, nor in Jenkins. (I was trying to
find out where the difference came from). I am not sure also how the version
check can fail locally but not in CircleCI? And why at all fails...
was (Author: e.dimitrova):
On a second pass and also while reading into the upgrade_manifest and
CASSANDRA-16238, it seems we are running the right tests. Now I think the issue
is Jenkins not running udtfix tests but I think why they are skipped can be
tackled separately?
I think this is ready for review, to summarize:
-[3.0
patch|https://github.com/ekaterinadimitrova2/cassandra/commit/f99cff0621d00a86992dddecd9b6046b72086170]
[CI|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/1939/workflows/c06f6aeb-48b0-42d5-8952-af814341e782]
-[3.11
patch|https://github.com/ekaterinadimitrova2/cassandra/commit/7f4d236dacffa9a587eb8b783b118869a6f0e5be]
[CI|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/1940/workflows/b822932d-e171-4490-b794-f1d35deee5d9]
[~mck] , [~dcapwell] , anyone of you for review?
I can open a follow up ticket for Jenkins.
------
And some good news - the 3.0 upgrade tests run in Circle CI was brought from 1
hour 25 minutes to 47 minutes.
------
Tried to run those locally and I am puzzled:
{code:java}
$pytest --execute-upgrade-tests-only --upgrade-target-version-only
--upgrade-version-selection all --log-level="DEBUG"
--cassandra-dir=........./cassandra upgrade_udtfix_test.py -rxXs
============================================================================================================
test session starts
=============================================================================================================
platform darwin -- Python 3.8.13, pytest-3.6.4, py-1.9.0, pluggy-0.7.1
rootdir: /Users/ekaterina.dimitri/IdeaProjects/cassandra-dtest-d, inifile:
pytest.ini
plugins: flaky-3.7.0, timeout-1.4.2, repeat-0.9.1
timeout: 900.0s
timeout method: signal
timeout func_only: False
collected 20 items
upgrade_udtfix_test.py ssssssssssssssssssss
[100%]
==========================================================================================================
short test summary info
===========================================================================================================
SKIP [16] upgrade_tests/upgrade_udtfix_test.py: test not applicable to env.
SKIP [2] /Users/ekaterina.dimitri/IdeaProjects/cassandra-dtest-d/conftest.py:
3.0.27 < 3.11.6
SKIP [2] /Users/ekaterina.dimitri/IdeaProjects/cassandra-dtest-d/conftest.py:
3.0.28 < 3.11.6
=========================================================================================================
20 skipped in 4.66 seconds
=========================================================================================================
{code}
This is with plain cassandra-3.11 and also with the patched branch.
Double-checked the build.xml version and it is correct...
>From the test class:
{code:java}
for path in build_upgrade_pairs():
gen_class_name = UpgradeUDTFixTest.__name__ + '_' + path.name
assert gen_class_name not in globals()
spec = {'UPGRADE_PATH': path,
'__test__': True}
start_family = spec['UPGRADE_PATH'].starting_meta.family
upgrade_family = spec['UPGRADE_PATH'].upgrade_meta.family
start_family_applies = start_family == CASSANDRA_3_0
upgrade_applies_to_env = RUN_STATIC_UPGRADE_MATRIX or start_family_applies
cls = type(gen_class_name, (UpgradeUDTFixTest,), spec)
if not upgrade_applies_to_env:
add_skip(cls, 'test not applicable to env.')
globals()[gen_class_name] = cls
{code}
Anyway, I think those should be run for 3.11? I can add more info to a follow
up ticket for Jenkins. In a quick check I didn't see us setting for example
RUN_STATIC_UPGRADE_MATRIX neither in CircleCI, nor in Jenkins. (I was trying to
find out where the difference came from). I am not sure also how the version
check can fail locally but not in CircleCI? And why at all fails...
> Fix CircleCI config for running Python upgrade tests on 3.0 and 3.11
> --------------------------------------------------------------------
>
> Key: CASSANDRA-17912
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17912
> Project: Cassandra
> Issue Type: Bug
> Components: CI
> Reporter: Ekaterina Dimitrova
> Assignee: Ekaterina Dimitrova
> Priority: Normal
> Fix For: 3.0.x, 3.11.x
>
>
> It was noticed that Circle CI pushes to run irrelevant for 3.0 and 3.11
> Python upgrade tests. Those are properly skipped in Jenkins.
> Example runs:
> [CircleCI|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/1931/workflows/39ef5261-a6bf-4e77-a412-e750e322a231/jobs/15293]
> - 3.0 run
> [Jenkins|https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch/1944/]
> - while typing this I actually noticed [one
> test|https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch/1944/testReport/junit/dtest-upgrade.upgrade_tests.upgrade_through_versions_test/TestProtoV3Upgrade_AllVersions_RandomPartitioner_EndsAt_3_11_X_HEAD/test_parallel_upgrade_with_internode_ssl/]
> only looking suspicious in Jenkins as it ends the upgrade in 3.11 when we
> test 3.0...
> This is good to be fixed for two reasons - reduce the noise so we do not miss
> legit failures and we should not spend resources to try to run those tests.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]