[
https://issues.apache.org/jira/browse/AIRFLOW-5444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ash Berlin-Taylor resolved AIRFLOW-5444.
----------------------------------------
Fix Version/s: 1.10.6
Resolution: Done
> 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
> Priority: Major
> Fix For: 1.10.6
>
>
> 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.4#803005)