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

Jim Baldwin commented on AIRFLOW-4524:
--------------------------------------

I had a go at fixing this by changing the code to be like:
{code:python}
    @expose('/failed', methods=['POST'])
    @login_required
    @wwwutils.action_logging
    @wwwutils.notify_owner
    def failed(self):
        dag_id = request.form.get('dag_id')
        task_id = request.form.get('task_id')
        origin = request.form.get('origin')
        execution_date = request.form.get('execution_date')

        confirmed = request.form.get('confirmed') == "true"
        upstream = request.form.get('failed_upstream') == "true"
        downstream = request.form.get('failed_downstream') == "true"
        future = request.form.get('failed_future') == "true"
        past = request.form.get('failed_past') == "true"

        return self._mark_task_instance_state(dag_id, task_id, origin, 
execution_date,
                                              confirmed, upstream, downstream,
                                              future, past, State.FAILED)

    @expose('/success', methods=['POST'])
    @login_required
    @wwwutils.action_logging
    @wwwutils.notify_owner
    def success(self):
        dag_id = request.form.get('dag_id')
        task_id = request.form.get('task_id')
        origin = request.form.get('origin')
        execution_date = request.form.get('execution_date')

        confirmed = request.form.get('confirmed') == "true"
        upstream = request.form.get('success_upstream') == "true"
        downstream = request.form.get('success_downstream') == "true"
        future = request.form.get('success_future') == "true"
        past = request.form.get('success_past') == "true"

        return self._mark_task_instance_state(dag_id, task_id, origin, 
execution_date,
                                              confirmed, upstream, downstream,
                                              future, past, State.SUCCESS)
{code}

but then i kept getting failures when trying to test if past and future were 
working. Not sure if it was my change or other things.
To me that makes sense it would fix it but might be missing something.

> "Ignore All Deps" and "Ignore Task Deps" doesn't ignore task dependencies
> -------------------------------------------------------------------------
>
>                 Key: AIRFLOW-4524
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-4524
>             Project: Apache Airflow
>          Issue Type: Bug
>          Components: ui
>    Affects Versions: 1.10.3
>            Reporter: James Meickle
>            Priority: Critical
>         Attachments: Screenshot 2019-05-16 09.15.00.png
>
>
> After an upgrade from Airflow 1.10.1->1.10.3, we're seeing this behavior when 
> trying to "Run" a task in the UI with "Ignore All Deps" and "Ignore Task 
> Deps":
> {code:java}
> "Could not queue task instance for execution, dependencies not met: Trigger 
> Rule: Task's trigger rule 'all_success' requires all upstream tasks to have 
> succeeded, but found 1 non-success(es). upstream_tasks_state={'successes': 1, 
> 'skipped': 0, 'upstream_failed': 0, 'failed': 0, 'done': 1, 'total': 2}, 
> upstream_task_ids={'XXX', 'XXX'}"
> {code}
> I suspected this was due to the checkbox not getting applied so I 
> investigated this in Chrome. Here's a 1.10.3 POST (broken):
> {code:java}
> dag_id: MY_DAG_ID
> task_id: MY_TASK_ID
> execution_date: 2019-05-15T00:00:00+00:00
> origin: MY_AIRFLOW_SERVER
> ignore_all_deps: 
> ignore_ti_state: 
> ignore_task_deps: 
> ignore_all_deps: true
> ignore_task_deps: true
> downstream: true
> recursive: true
> {code}
> And here's a 1.10.1 POST (working):
> {code:java}
> task_id: MY_TASK_ID
> dag_id: MY_DAG_ID
> ignore_all_deps: true
> ignore_task_deps: true
> ignore_ti_state: false
> execution_date: 2019-05-16T11:00:00+00:00
> origin: MY_AIRFLOW_SERVER
> {code}
> It looks like the JS here is doing something wonky and sending blank values 
> for unchecked boxes, as well as checkboxes that don't apply to the current 
> action, which is presumably breaking parsing when the server receives a json 
> object with multiple conflicting keys.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to