George Sirois created AIRFLOW-1600: -------------------------------------- Summary: Uncaught exceptions in get_fernet if cryptography package not installed. Key: AIRFLOW-1600 URL: https://issues.apache.org/jira/browse/AIRFLOW-1600 Project: Apache Airflow Issue Type: Bug Affects Versions: 1.9.0 Reporter: George Sirois Assignee: George Sirois Priority: Minor
The change from https://github.com/apache/incubator-airflow/pull/2527 has a small flaw that causes issues when attempting to write extras when the cryptography package is not installed. Because {{ImportError}} is redefined as a model later in the file, it prevents proper handling of the exception. Running {{airflow initdb}} (or editing settings later in a running system) will result in errors like the following: {code} File "<string>", line 1, in __set__ File "/workspace/incubator-airflow/airflow/models.py", line 646, in set_extra fernet = get_fernet() File "/workspace/incubator-airflow/airflow/models.py", line 101, in get_fernet from cryptography.fernet import Fernet ImportError: No module named cryptography.fernet {code} The solution is to explicitly include the module for the {{ImportError}} exception + add the LoggingMixin to the classes that catch the error so that they can log the warnings properly. -- This message was sent by Atlassian JIRA (v6.4.14#64029)