You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2018/08/08 07:27:01 UTC

[jira] [Commented] (IMPALA-6335) Remove the unnecessary decorator "pytest.mark.execute_serially" from tests which can be run in parallel

    [ https://issues.apache.org/jira/browse/IMPALA-6335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16572804#comment-16572804 ] 

ASF subversion and git services commented on IMPALA-6335:
---------------------------------------------------------

Commit bf24a814ccf568fd0f165f05c90488ebc4c2db47 in impala's branch refs/heads/master from [~tlipcon]
[ https://git-wip-us.apache.org/repos/asf?p=impala.git;h=bf24a81 ]

IMPALA-6335. Allow most shell tests to run in parallel

This adds an IMPALA_HISTFILE environment variable (and --history_file
argument) to the shell which overrides the default location of
~/.impalahistory for the shell history. The shell tests now override
this variable to /dev/null so they don't store history. The tests that
need history use a pytest fixture to use a temporary file for their
history. This allows so that they can run in parallel without stomping
on each other's history.

This also fixes a couple flaky test which were previously missing the
"execute_serially" annotation -- that annotation is no longer needed
after this fix.

A couple of the tests still need to be executed serially because they
look at metrics such as the number of executed or running queries, and
those metrics are unstable if other tests run in parallel.

I tested this by running:

  ./bin/impala-py.test tests/shell/test_shell_interactive.py \
    -m 'not execute_serially' \
    -n 80 \
    --random

... several times in a row on an 88-core box. Prior to the change,
several would fail each time. Now they pass.

Change-Id: I1da5739276e63a50590dfcb2b050703f8e35fec7
Reviewed-on: http://gerrit.cloudera.org:8080/11045
Tested-by: Impala Public Jenkins <im...@cloudera.com>
Reviewed-by: Todd Lipcon <to...@apache.org>


> Remove the unnecessary decorator "pytest.mark.execute_serially" from tests which can be run in parallel
> -------------------------------------------------------------------------------------------------------
>
>                 Key: IMPALA-6335
>                 URL: https://issues.apache.org/jira/browse/IMPALA-6335
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Infrastructure
>    Affects Versions: Impala 2.10.0
>            Reporter: Jinchul Kim
>            Assignee: Todd Lipcon
>            Priority: Minor
>              Labels: newbie
>             Fix For: Impala 3.1.0
>
>
> Regarding the decorator "pytest.mark.execute_serially", I saw all the test cases are marked as execute_serially in tests/shell/test_shell_interactive.py. I guess a few tests should be run exclusively, but the other tests do not require the serial option. What do you think about this? I think we should consider to use the decorator when adding test cases. Minimized serial run can help to reduce overall test running time by parallelism.
> I think the following cases do not require the decorator.
> a. Check consistency from test result
> b. Test query cancellation
> c. Test shell options which are effective on local shell
> > From Tim's comment:
> I think you're right that many of the shell tests don't inherently require to be executed serially. Some of them would require work to execute in parallel, particularly the ones that inspect files like .impalahistory and tests that check the values of global impala daemon metrics.



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

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