[ 
https://issues.apache.org/jira/browse/IMPALA-5847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thomas Tauber-Marshall resolved IMPALA-5847.
--------------------------------------------
       Resolution: Fixed
    Fix Version/s: Impala 3.2.0

> Some query options do not work as expected in .test files
> ---------------------------------------------------------
>
>                 Key: IMPALA-5847
>                 URL: https://issues.apache.org/jira/browse/IMPALA-5847
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Infrastructure
>            Reporter: Alexander Behm
>            Assignee: Thomas Tauber-Marshall
>            Priority: Minor
>             Fix For: Impala 3.2.0
>
>
> We often use "set" in .test files to alter query options. Theoretically, a 
> "set" command should change the session-level query options and in most cases 
> a single .test file is executed from the same Impala session. However, for 
> some options using "set" within a query section does not seem to work. For 
> example, "num_nodes" does not work as expected as shown below.
> PyTest:
> {code}
> import pytest
> from tests.common.impala_test_suite import ImpalaTestSuite
> class TestStringQueries(ImpalaTestSuite):
>   @classmethod
>   def get_workload(cls):
>     return 'functional-query'
>   def test_set_bug(self, vector):
>     self.run_test_case('QueryTest/set_bug', vector)
> {code}
> Corresponding .test file:
> {code}
> ====
> ---- QUERY
> set num_nodes=1;
> select count(*) from functional.alltypes;
> select count(*) from functional.alltypes;
> select count(*) from functional.alltypes;
> ---- RESULTS
> 7300
> ---- TYPES
> BIGINT
> ====
> {code}
> After running the test above, I validated that the 3 queries were run from 
> the same session, and that the queries run a distributed plan. The 
> "num_nodes" option was definitely not picked up. I am not sure which query 
> options are affected. In several .test files setting other query options does 
> seem to work as expected.
> I suspect that the test framework might keep its own list of default query 
> options which get submitted together with the query, so the session-level 
> options are overridden on a per-request basis. For example, if I change the 
> pytest to remove the "num_nodes" dictionary entry, then the test works as 
> expected.
> PyTest workaround:
> {code}
> import pytest
> from tests.common.impala_test_suite import ImpalaTestSuite
> class TestStringQueries(ImpalaTestSuite):
>   @classmethod
>   def get_workload(cls):
>     return 'functional-query'
>   def test_set_bug(self, vector):
>     # Workaround SET bug
>     vector.get_value('exec_option').pop('num_nodes', None)
>     self.run_test_case('QueryTest/set_bug', vector)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org

Reply via email to