Bouke Nederstigt created AIRFLOW-2316:
-----------------------------------------
Summary: get_hook not updated for many connection types - can
result in silent failure for BaseHook.get_hook()
Key: AIRFLOW-2316
URL: https://issues.apache.org/jira/browse/AIRFLOW-2316
Project: Apache Airflow
Issue Type: Bug
Components: models
Affects Versions: Airflow 1.8, 1.9.0, 1.9.1
Reporter: Bouke Nederstigt
Currently adding a new hook requires adjusting the Connection.get_hook() method
in models.py. This seems to be overlooked by many hooks. Which in turn results
in a (silent) failure to load hooks based on connection id only.
e.g.
executing BaseHook.get_hook('s3connection') will return None because there is no
{code:java}
elif self.conn_type == 's3':
{code}
statement in Connection.get_hook. Currently statements seem to be missing for
the following connection types: fs, ftp, hdfs, http, hive_metastore, s3, samba,
ssh, mesos_framework-id, databricks, aws, emr.
Possible fix is to just add the extra elif statements for all of the missing
connection types. To prevent this in the future a unit test can be added that
checks the get_hook method returns an object for all items in the
Connection._types list.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)