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 2019/06/20 20:44:00 UTC

[jira] [Commented] (IMPALA-8553) Several tests failing with connection errors on deployed clusters

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

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

Commit 9ecbe7d3dc22d7233e4bf2f91aaab43d0ad4e373 in impala's branch refs/heads/master from Tim Armstrong
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=9ecbe7d ]

IMPALA-8553,IMPALA-8552: fix checks for remote cluster

Apparently IMPALA_REMOTE_URL is not generally used for remote cluster
tests: only --testing_remote_cluster is reliably set. Fix the
is_remote_cluster() implementation to take into account
REMOTE_DATA_LOAD and --testing_remote_cluster in addition to
IMPALA_REMOTE_URL. Consistently use is_remote_cluster() in
other tests instead of checking the pytest flag directly.

There were a few lifecycle headaches with how
ImpalaTestClusterProperties is used:
* common.environ is imported from conftest, which means that
  the top-level code in the file runs *before* pytest
  command-line arguments have been registered and parsed.
* ImpalaTestClusterProperties is used by various code,
  like build_flavor_timeout(), which runs before pytest
  command-line arguments have been parsed.
* ImpalaTestClusterProperties is called from non-pytest
  scripts like start-impala-cluster.py, so the command-line
  arguments are not available.

I dealt with the above challenges by making a few changes
to do the detection later:
* Lazily initializing a singleton ImpalaTestClusterProperties.
  This was not strictly necessary but makes the whole problem
  less sensitive to import order and module dependencies.
* Adding cluster_properties fixture to make ImpalaTestClusterProperties
  available in tests without additional boilerplate.
* Removing the caching of the local/remote build calculation.
  ImpalaTestClusterProperties is instantiated outside of python
  tests, but is_remote_cluster() is only called from python tests,
  so if we check flags in is_remote_cluster() we'll get the
  right results reliably.

As a workaround to unblock remote tests, also assume catalog_v1 if
accessing the web UI fails.

Testing:
Ran core tests against a regular minicluster.

Ran tests against a remote cluster

Change-Id: Ifa6b2a1391f53121d3d7c00c5cf0a57590899ce4
Reviewed-on: http://gerrit.cloudera.org:8080/13386
Reviewed-by: Tim Armstrong <ta...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>


> Several tests failing with connection errors on deployed clusters
> -----------------------------------------------------------------
>
>                 Key: IMPALA-8553
>                 URL: https://issues.apache.org/jira/browse/IMPALA-8553
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Infrastructure
>    Affects Versions: Impala 3.3.0
>            Reporter: David Knupp
>            Assignee: Tim Armstrong
>            Priority: Critical
>
> The errors look fairly similar. I suspect this commit introduced a regression:
> https://github.com/apache/impala/commit/79c5f875
> *Stacktrace*
> {noformat}
> metadata/test_hms_integration.py:66: in test_sanity
>     if IMPALA_TEST_CLUSTER_PROPERTIES.is_catalog_v2_cluster():
> common/environ.py:307: in is_catalog_v2_cluster
>     flags = self._get_flags_from_web_ui(web_ui_url)
> common/environ.py:295: in _get_flags_from_web_ui
>     response = requests.get(impala_url + "/varz?json")
> ../infra/python/env/lib/python2.7/site-packages/requests/api.py:69: in get
>     return request('get', url, params=params, **kwargs)
> ../infra/python/env/lib/python2.7/site-packages/requests/api.py:50: in request
>     response = session.request(method=method, url=url, **kwargs)
> ../infra/python/env/lib/python2.7/site-packages/requests/sessions.py:465: in request
>     resp = self.send(prep, **send_kwargs)
> ../infra/python/env/lib/python2.7/site-packages/requests/sessions.py:573: in send
>     r = adapter.send(request, **kwargs)
> ../infra/python/env/lib/python2.7/site-packages/requests/adapters.py:415: in send
>     raise ConnectionError(err, request=request)
> E   ConnectionError: ('Connection aborted.', error(111, 'Connection refused'))
> {noformat}



--
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