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
             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 This seems to be overlooked by many hooks. Which in turn results 
in a (silent) failure to load hooks based on connection id only.


executing BaseHook.get_hook('s3connection') will return None because there is no
 elif self.conn_type == 's3':
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

Reply via email to