Csaba Ringhofer has posted comments on this change. ( http://gerrit.cloudera.org:8080/22726 )
Change subject: IMPALA-13929: Make 'functional-query' the default workload in tests ...................................................................... Patch Set 3: (3 comments) http://gerrit.cloudera.org:8080/#/c/22726/1/tests/common/impala_test_suite.py File tests/common/impala_test_suite.py: http://gerrit.cloudera.org:8080/#/c/22726/1/tests/common/impala_test_suite.py@193 PS1, Line 193: The workload affects exploration strategy : # if workload_explora > I think it is worth to elaborate this as method documentation. Added a bit more info and pointed to exploration_strategy() http://gerrit.cloudera.org:8080/#/c/22726/1/tests/common/impala_test_suite.py@1430 PS1, Line 1430: disable_codegen_options = ALL_DISABLE_CODEGEN_OPTIONS : batch_sizes = ALL_BATCH_SIZE > This should be better documented. At the very least, we should warn how to Added some info and pointed to bin/run-all-test.sh + workload_exploration_strategy generally one has to see https://github.com/apache/impala/blob/6f2d9a24d8c014a7dc1ec7a08bcfb025b3bdf41f/bin/run-all-tests.sh#L194 to understand how tests are rally running http://gerrit.cloudera.org:8080/#/c/22726/1/tests/custom_cluster/test_catalog_hms_failures.py File tests/custom_cluster/test_catalog_hms_failures.py: http://gerrit.cloudera.org:8080/#/c/22726/1/tests/custom_cluster/test_catalog_hms_failures.py@157 PS1, Line 157: if cls.exploration_strategy() != 'exhaustive': : pytest.skip('These tests only run in exhaustive') > Ideally, whole class skipping like this should be detected in ImpalaTestSui I wouldn't touch anything else than get_workload() in this patch, as it is already large (and a backporting nightmare). A nice way to skip whole tests/test suites in core would be a marker like @SkipIf.exhaustive that uses pytest.config.option.exploration_strategy directly - BUT run_all_tests.sh sets exploration_strategy to core so it wouldn't work correctly at the moment. I saw a recent change with a workaround for this: https://github.com/apache/impala/blob/6f2d9a24d8c014a7dc1ec7a08bcfb025b3bdf41f/tests/query_test/test_tpcds_queries.py#L803 The next step could be to change run_all_tests.sh to pass EXPLORATION_STRATEGY to py.test as most people probably expect it to work. If there exists any test where workload really matters for core vs exhaustive then it could use a function like workload_exploration_strategy() instead of exploration_strategy() to make its behavior clearer. I think that the current state of using cls.exploration_strategy() != 'exhaustive' is a case of copy paste error done by many developers without understanding what this line really means. workload_exploration_strategy and the logic in exploration_strategy() is probably meant to help with creating test vectors for tests that can run on multiple table/file formats, not to skip whole tests/test suites. -- To view, visit http://gerrit.cloudera.org:8080/22726 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9ec6c41ffb3a30e1ea2de773626d1485c69fe115 Gerrit-Change-Number: 22726 Gerrit-PatchSet: 3 Gerrit-Owner: Csaba Ringhofer <csringho...@cloudera.com> Gerrit-Reviewer: Csaba Ringhofer <csringho...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Riza Suminto <riza.sumi...@cloudera.com> Gerrit-Comment-Date: Sat, 05 Apr 2025 09:07:34 +0000 Gerrit-HasComments: Yes