You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Ash Berlin-Taylor (Jira)" <ji...@apache.org> on 2019/10/10 12:57:00 UTC

[jira] [Resolved] (AIRFLOW-5444) action_logging missing important fields such as Dag Id and Task Id for POST actions

     [ 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)