Qian Yu created AIRFLOW-5444:
--------------------------------
Summary: action_logging missing important fields such as Dag Id
and Task Id for POST actions
Key: AIRFLOW-5444
URL: https://issues.apache.org/jira/browse/AIRFLOW-5444
Project: Apache Airflow
Issue Type: Bug
Components: logging
Affects Versions: 1.10.5
Reporter: Qian Yu
Assignee: Qian Yu
For example, when user admin cleared a task example_bash_operator, the log
looks like this:
{code:python}
Id Dttm Dag Id Task Id Event Execution Date Owner Extra
78 09-09T02:04:56.663074+00:00 example_bash_operator graph admin
[('dag_id', 'example_bash_operator'), ('root', '')]
77 09-09T02:04:56.606590+00:00 None clear admin []
76 09-09T02:04:55.155144+00:00 None clear admin []
75 09-09T02:04:48.419288+00:00 example_bash_operator task_instances
09-08T00:00:00+00:00 admin [('dag_id', 'example_bash_operator'),
('execution_date', '2019-09-08T00:00:00+00:00')]
{code}
Some important fields for the event "clear" are not populated: Dag Id, Task Id.
These fields would have been very helpful for troubleshooting or audit purposes.
The same problem happens for event "failed". It probably happens to many other
actions too.
{code:python}
Id Dttm Dag Id Task Id Event Execution Date Owner Extra
78 09-09T02:04:56.663074+00:00 example_bash_operator graph admin
[('dag_id', 'example_bash_operator'), ('root', '')]
77 09-09T02:04:56.606590+00:00 None clear admin []
76 09-09T02:04:55.155144+00:00 None clear admin []
75 09-09T02:04:48.419288+00:00 example_bash_operator task_instances
09-08T00:00:00+00:00 admin [('dag_id', 'example_bash_operator'),
('execution_date', '2019-09-08T00:00:00+00:00')]
{code}
For POST actions, the request object looks like this. request.args is empty.
request.form is what we need to find those fields. So the action_logging
decorator needs to be fixed to look for request.form when the action is POST.
{code:python}
request.args:
ImmutableMultiDict([])
request.form:
ImmutableMultiDict([('task_id', 'run_this_last'), ('execution_date',
'2019-09-08T00:00:00+00:00'), ('dag_id', 'example_bash_operator'),
('confirmed', 'true'), ('recursive', 'true'),... ('downstream', 'true'),
('origin', 'http://localhost:8080/graph?dag_id=example_bash_operator')])
{code}
--
This message was sent by Atlassian Jira
(v8.3.2#803003)