You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Sahil Takiar (Jira)" <ji...@apache.org> on 2020/02/19 21:56:00 UTC

[jira] [Created] (IMPALA-9405) Improvements for Frontend#metaStoreClientPool_

Sahil Takiar created IMPALA-9405:
------------------------------------

             Summary: Improvements for Frontend#metaStoreClientPool_
                 Key: IMPALA-9405
                 URL: https://issues.apache.org/jira/browse/IMPALA-9405
             Project: IMPALA
          Issue Type: Improvement
          Components: Frontend
            Reporter: Sahil Takiar


While trying to resurrect {{tests/experiments/test_catalog_hms_failures.py}} I noticed the test {{TestCatalogHMSFailures::test_start_catalog_before_hms}} has started to fail. The reason is that when this test was written, only the catalogd was connecting to HMS, but with catalog v2 and ACID integration this is no longer the case.

It looks like catalog v2 honors {{initial_hms_cnxn_timeout_s}}, (at least {{DirectMetaProvider}} honors the flag, and I *think* that is part of the metadata v2 code), but the {{Frontend}} Java class has a member variable {{metaStoreClientPool_}} that does not use the flag. It looks like that pool was added for ACID integration.

The flag {{initial_hms_cnxn_timeout_s}} was added in IMPALA-4278 to help with concurrent startup of Impala and HMS.

Somewhat related to this issue, is that there seems to be multiple places where Impala creates a {{MetaStoreClientPool}}, I think it would make more sense to just have one global pool that is used across the process. Doing so would improve connection re-use and possibly decrease the number of HMS connections. There is actually a TODO in {{DirectMetaProvider}} as well that says {{msClientPool_}} should be a process wide singleton.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)