-
Notifications
You must be signed in to change notification settings - Fork 16.7k
Description
Apache Airflow version: 1.10.10
Kubernetes version (if you are using kubernetes) (use kubectl version):
Environment: prod
-
Cloud provider or hardware configuration: aws
-
OS (e.g. from /etc/os-release):
NAME="Amazon Linux AMI"
VERSION="2018.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2018.03"
PRETTY_NAME="Amazon Linux AMI 2018.03"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2018.03:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/" -
Kernel (e.g.
uname -a): Linux ip-10-160-1-11 4.14.154-99.181.amzn1.x86_64 Improving the search functionality in the graph view #1 SMP Sat Nov 16 01:38:34 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux -
Install tools:
-
Others:
What happened:
While deleting example dags from UI, I am getting following error. I think the foreign key contstain for dag_tag table has not been handled properly.
If I modify the dag and remove tags, I am successfully able to remove the DAG.
What you expected to happen:
Delete dag without any error.
Traceback (most recent call last):
File "/usr/local/lib64/python2.7/site-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib64/python2.7/site-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib64/python2.7/site-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib64/python2.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib64/python2.7/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functionsrule.endpoint
File "/usr/local/lib/python2.7/site-packages/airflow/www_rbac/decorators.py", line 121, in wrapper
return f(self, *args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/flask_appbuilder/security/decorators.py", line 101, in wraps
return f(self, *args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/airflow/www_rbac/decorators.py", line 56, in wrapper
return f(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/airflow/www_rbac/views.py", line 972, in delete
delete_dag.delete_dag(dag_id)
File "/usr/local/lib/python2.7/site-packages/airflow/utils/db.py", line 74, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/airflow/api/common/experimental/delete_dag.py", line 61, in delete_dag
count += session.query(model).filter(cond).delete(synchronize_session='fetch')
File "/usr/local/lib64/python2.7/site-packages/sqlalchemy/orm/query.py", line 3789, in delete
delete_op.exec_()
File "/usr/local/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 1697, in exec_
self._do_exec()
File "/usr/local/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 1928, in _do_exec
self._execute_stmt(delete_stmt)
File "/usr/local/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 1702, in _execute_stmt
self.result = self.query._execute_crud(stmt, self.mapper)
File "/usr/local/lib64/python2.7/site-packages/sqlalchemy/orm/query.py", line 3436, in _execute_crud
return conn.execute(stmt, self._params)
File "/usr/local/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 984, in execute
return meth(self, multiparams, params)
File "/usr/local/lib64/python2.7/site-packages/sqlalchemy/sql/elements.py", line 293, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/local/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1103, in _execute_clauseelement
distilled_params,
File "/usr/local/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1288, in _execute_context
e, statement, parameters, cursor, context
File "/usr/local/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1482, in handle_dbapi_exception
sqlalchemy_exception, with_traceback=exc_info[2], from=e
File "/usr/local/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1248, in _execute_context
cursor, statement, parameters, context
File "/usr/local/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 588, in do_execute
cursor.execute(statement, parameters)
IntegrityError: (psycopg2.errors.ForeignKeyViolation) update or delete on table "dag" violates foreign key constraint "dag_tag_dag_id_fkey" on table "dag_tag"
DETAIL: Key (dag_id)=(example_pig_operator) is still referenced from table "dag_tag".
[SQL: DELETE FROM dag WHERE dag.dag_id = %(dag_id_1)s OR dag.dag_id LIKE %(dag_id_2)s]
[parameters: {'dag_id_1': u'example_pig_operator', 'dag_id_2': u'example_pig_operator.%'}]
(Background on this error at: http://sqlalche.me/e/gkpj)
How to reproduce it:
-
Login to UI
-
click on delete button for any DAG
Anything else we need to know: N/A