[
https://issues.apache.org/jira/browse/CASSANDRA-16328?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17248139#comment-17248139
]
David Capwell commented on CASSANDRA-16328:
-------------------------------------------
{noformat}
… RUN_STATIC_UPGRADE_MATRIX …
What is the purpose of this variable?
When would we want/need to use it?
{noformat}
Here is all the references I see
{code}
$ grep -r --exclude '*.pyc' RUN_STATIC_UPGRADE_MATRIX *
dtest.py:RUN_STATIC_UPGRADE_MATRIX =
os.environ.get('RUN_STATIC_UPGRADE_MATRIX', '').lower() in ('yes', 'true')
upgrade_tests/paging_test.py:from dtest import RUN_STATIC_UPGRADE_MATRIX,
run_scenarios, MAJOR_VERSION_4
upgrade_tests/paging_test.py: upgrade_applies_to_env =
RUN_STATIC_UPGRADE_MATRIX or
spec['UPGRADE_PATH'].upgrade_meta.matches_current_env_version_family
upgrade_tests/thrift_upgrade_test.py:from dtest import
RUN_STATIC_UPGRADE_MATRIX, Tester
upgrade_tests/thrift_upgrade_test.py: upgrade_applies_to_env =
RUN_STATIC_UPGRADE_MATRIX or
spec['UPGRADE_PATH'].upgrade_meta.matches_current_env_version_family
upgrade_tests/upgrade_through_versions_test.py:from dtest import
RUN_STATIC_UPGRADE_MATRIX, Tester
upgrade_tests/upgrade_through_versions_test.py: upgrade_applies_to_env =
RUN_STATIC_UPGRADE_MATRIX or
version_metas[-1].matches_current_env_version_family
upgrade_tests/upgrade_through_versions_test.py: if not
RUN_STATIC_UPGRADE_MATRIX:
upgrade_tests/cql_tests.py:from dtest import RUN_STATIC_UPGRADE_MATRIX,
MAJOR_VERSION_4
upgrade_tests/cql_tests.py: upgrade_applies_to_env =
RUN_STATIC_UPGRADE_MATRIX or
spec['UPGRADE_PATH'].upgrade_meta.matches_current_env_version_family
upgrade_tests/regression_test.py:from dtest import RUN_STATIC_UPGRADE_MATRIX
upgrade_tests/regression_test.py: upgrade_applies_to_env =
RUN_STATIC_UPGRADE_MATRIX or
path.upgrade_meta.matches_current_env_version_family
upgrade_tests/upgrade_manifest.py:from dtest import RUN_STATIC_UPGRADE_MATRIX
upgrade_tests/upgrade_manifest.py: if not (RUN_STATIC_UPGRADE_MATRIX
or OVERRIDE_MANIFEST):
upgrade_tests/upgrade_udtfix_test.py:from dtest import
RUN_STATIC_UPGRADE_MATRIX, Tester
upgrade_tests/upgrade_udtfix_test.py: upgrade_applies_to_env =
RUN_STATIC_UPGRADE_MATRIX or start_family_applies
{code}
For upgrade_tests/upgrade_manifest.py, its used as follows
{code}
if not (RUN_STATIC_UPGRADE_MATRIX or OVERRIDE_MANIFEST):
if destination_meta.matches_current_env_version_family:
# looks like this test should actually run in the current
env, so let's set the final version to match the env exactly
oldmeta = destination_meta
newmeta = destination_meta.clone_with_local_env_version()
logger.debug("{} appears applicable to current env.
Overriding final test version from {} to {}".format(path_name, oldmeta.version,
newmeta.version))
destination_meta = newmeta
{code}
This is what I was talked about when saying only committed code gets tested, if
RUN_STATIC_UPGRADE_MATRIX isn't defined (or is false) then we replace the
destination (why not origin?) with the version provided to cassandra_dir if
their "family" matches. The other usages look to be used for filtering, so if
RUN_STATIC_UPGRADE_MATRIX is defined, or the test version matches the
cassandra_dir version then run.
I am not sure why it is this way, or why origin was excluded (changes to 3.11
will not be tested against trunk upgrades until committed).
bq. When I look through the tests run I only see indev_3_11_x_To_indev_trunk
tests. I would have thought we should be including all
indev_3_0_x_To_indev_trunk as well?
bq. looks like we don't specify indev_3_0_x to trunk:
I filed CASSANDRA-16329 to look closer into this. Marcus you are correct that
3.0 branch excludes trunk, but 3.0 release includes it
(https://github.com/apache/cassandra-dtest/blob/trunk/upgrade_tests/upgrade_manifest.py#L155)...
yet 3.0 release isn't in the test output!
I was hoping to punt that issue into the other JIRA as I see that logging never
triggers, and stdout debugging also doesn't show to screen, so root causing
might take a bit more time.
bq. Here's the patch for the same in ci-cassandra.a.o in-sync
Thanks, was planning to file after review was happy with the change, ill update
the links to include yours!
> python upgrade tests include tests which are not impacted by the version
> under test
> -----------------------------------------------------------------------------------
>
> Key: CASSANDRA-16328
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16328
> Project: Cassandra
> Issue Type: Bug
> Components: CI, Test/dtest/python
> Reporter: David Capwell
> Assignee: David Capwell
> Priority: Normal
> Fix For: 4.0-beta
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> When we try to run the upgrade tests for trunk, we get tests such as
> upgrade_tests.cql_tests.TestCQLNodes2RF1_Upgrade_indev_2_2_x_To_indev_3_0_x
> to run, which do not include the trunk source. Since these tests are costly
> and can be flaky, running the unneeded tests for a release increases the cost
> and can make it harder to see if any new failures.
> See
> https://app.circleci.com/pipelines/github/dcapwell/cassandra/841/workflows/bcadf6e6-8d04-4010-8a47-99f7f9b5ac1d/jobs/4949/tests
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]