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