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)

Reply via email to