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

Reply via email to