Maximilian Roos created AIRFLOW-4088:
----------------------------------------
Summary: Airflow exits with code 0 when `airflow list_dags` raises
an error
Key: AIRFLOW-4088
URL: https://issues.apache.org/jira/browse/AIRFLOW-4088
Project: Apache Airflow
Issue Type: Bug
Affects Versions: 1.10.2
Reporter: Maximilian Roos
Running `airflow list_dags` returns an exit code of 0 (i.e. success), even when
it fails.
This makes running that as a command in CI not useful
{code:java}
airflow list_dags
[2019-03-13 20:41:54,188] {__init__.py:51} INFO - Using executor
SequentialExecutor
[2019-03-13 20:41:56,566] {cli_action_loggers.py:69} ERROR - Failed on
pre-execution callback using <function default_action_log at 0x10dc26d08>
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line
1236, in _execute_context
cursor, statement, parameters, context
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py",
line 536, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: no such table: log
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File
"/usr/local/lib/python3.7/site-packages/airflow/utils/cli_action_loggers.py",
line 67, in on_pre_execution
cb(**kwargs)
File
"/usr/local/lib/python3.7/site-packages/airflow/utils/cli_action_loggers.py",
line 98, in default_action_log
session.add(log)
File
"/usr/local/Cellar/python/3.7.2_2/Frameworks/Python.framework/Versions/3.7/lib/python3.7/contextlib.py",
line 119, in __exit__
next(self.gen)
File "/usr/local/lib/python3.7/site-packages/airflow/utils/db.py", line 44,
in create_session
session.commit()
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line
1023, in commit
self.transaction.commit()
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line
487, in commit
self._prepare_impl()
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line
466, in _prepare_impl
self.session.flush()
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line
2436, in flush
self._flush(objects)
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line
2574, in _flush
transaction.rollback(_capture_exception=True)
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py",
line 67, in __exit__
compat.reraise(exc_type, exc_value, exc_tb)
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line
277, in reraise
raise value
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line
2534, in _flush
flush_context.execute()
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py",
line 416, in execute
rec.execute(self)
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py",
line 583, in execute
uow,
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py",
line 245, in save_obj
insert,
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py",
line 1116, in _emit_insert_statements
statement, params
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line
980, in execute
return meth(self, multiparams, params)
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/elements.py",
line 273, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line
1099, in _execute_clauseelement
distilled_params,
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line
1240, in _execute_context
e, statement, parameters, cursor, context
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line
1458, in _handle_dbapi_exception
util.raise_from_cause(sqlalchemy_exception, exc_info)
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line
296, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line
276, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line
1236, in _execute_context
cursor, statement, parameters, context
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py",
line 536, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: log
[SQL: 'INSERT INTO log (dttm, dag_id, task_id, event, execution_date, owner,
extra) VALUES (?, ?, ?, ?, ?, ?, ?)'] [parameters: ('2019-03-14
00:41:56.218464', None, None, 'cli_list_dags', None, 'maximilian',
'{"host_name": "Maximilians-MacBook-Pro.local", "full_command":
"[\'/usr/local/bin/airflow\', \'list_dags\']"}')] (Background on this error at:
http://sqlalche.me/e/e3q8)
[2019-03-13 20:41:56,673] {models.py:273} INFO - Filling up the DagBag from
/Users/maximilian/airflow/dags
[2019-03-13 20:41:56,762] {models.py:377} ERROR - Failed to import:
/usr/local/lib/python3.7/site-packages/airflow/example_dags/example_http_operator.py
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/airflow/models.py", line 374, in
process_file
m = imp.load_source(mod_name, filepath)
File
"/usr/local/Cellar/python/3.7.2_2/Frameworks/Python.framework/Versions/3.7/lib/python3.7/imp.py",
line 171, in load_source
module = _load(spec)
File "<frozen importlib._bootstrap>", line 696, in _load
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File
"/usr/local/lib/python3.7/site-packages/airflow/example_dags/example_http_operator.py",
line 27, in <module>
from airflow.operators.http_operator import SimpleHttpOperator
File
"/usr/local/lib/python3.7/site-packages/airflow/operators/http_operator.py",
line 21, in <module>
from airflow.hooks.http_hook import HttpHook
File "/usr/local/lib/python3.7/site-packages/airflow/hooks/http_hook.py",
line 23, in <module>
import tenacity
File "/usr/local/lib/python3.7/site-packages/tenacity/__init__.py", line 352
from tenacity.async import AsyncRetrying
^
SyntaxError: invalid syntax
# Exit code 0 {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)