[ 
https://issues.apache.org/jira/browse/AIRFLOW-5444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16925417#comment-16925417
 ] 

ASF GitHub Bot commented on AIRFLOW-5444:
-----------------------------------------

yuqian90 commented on pull request #6064: [AIRFLOW-5444] Fix action_logging so 
that request.form for POST is logged
URL: https://github.com/apache/airflow/pull/6064
 
 
   - Log request.form when request.method is POST
   - Add a test for action_logging
   
   Make sure you have checked _all_ steps below.
   
   ### Jira
   
   - [ ] My PR addresses the following [Airflow 
Jira](https://issues.apache.org/jira/browse/AIRFLOW/) issues
     - https://issues.apache.org/jira/browse/AIRFLOW-5444
   
   ### Description
   
   - [ ] Here are some details about my PR, including screenshots of any UI 
changes:
   When user performs actions such as "clear", "success" or "failed" on the 
WebUI, important parameters such as dag_id, task_id and execution_date are not 
logged by action_logging because the values are in request.form rather than 
request.args. This PR fixes the issue.
   
   ### Tests
   
   - [ ] My PR adds the following unit tests __OR__ does not need testing for 
this extremely good reason:
   
   Added tests.www.test_views:TestDecorators to check for the scenario where 
request.method is GET and POST.
   
   ### Commits
   
   - [ ] My commits all reference Jira issues in their subject lines, and I 
have squashed multiple commits if they address the same issue. In addition, my 
commits follow the guidelines from "[How to write a good git commit 
message](http://chris.beams.io/posts/git-commit/)":
     1. Subject is separated from body by a blank line
     1. Subject is limited to 50 characters (not including Jira issue reference)
     1. Subject does not end with a period
     1. Subject uses the imperative mood ("add", not "adding")
     1. Body wraps at 72 characters
     1. Body explains "what" and "why", not "how"
   
   ### Documentation
   
   - [ ] In case of new functionality, my PR adds documentation that describes 
how to use it.
     - All the public functions and the classes in the PR contain docstrings 
that explain what it does
     - If you implement backwards incompatible changes, please leave a note in 
the [Updating.md](https://github.com/apache/airflow/blob/master/UPDATING.md) so 
we can assign it to a appropriate release
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to