You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Gavrilov Seva (JIRA)" <ji...@apache.org> on 2018/10/23 17:24:00 UTC

[jira] [Created] (AIRFLOW-3246) Make hmsclient import optional

Gavrilov Seva created AIRFLOW-3246:
--------------------------------------

             Summary: Make hmsclient import optional
                 Key: AIRFLOW-3246
                 URL: https://issues.apache.org/jira/browse/AIRFLOW-3246
             Project: Apache Airflow
          Issue Type: Improvement
          Components: hive_hooks
    Affects Versions: 1.10.0
            Reporter: Gavrilov Seva


Currently hmsclient is imported globally in hive_hooks.py, which is inconsistent with the general style in this file: hive dependencies are imported during the runtime. For example thrift components are imported inside the {{get_metastore_client}} method, but hmsclient also imports thrift components, so it forces you to have them installed.

I moved the import in this PR: https://github.com/apache/incubator-airflow/pull/4080

To give you a bit more information on why i even bother to do such a change, we are having problems with the new hive dependencies of airflow 1.10, particularly new version of pyhive. I described the problem [here|https://github.com/dropbox/PyHive/issues/240], seems like a combination of docker environment with newest versions of these libraries. We opted to rollback HiveServer2 hook to use the old dependencies, among them {{thrift==0.9.3}}, and hmsclient requires newer version of thrift. If you by chance have any clue on how we can diagnose our problem, please let me know.



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