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 2018/08/02 07:46:00 UTC

[jira] [Resolved] (AIRFLOW-2099) Task details cannot be shown when PythonOperator calls partial function / class instance with __call__

     [ https://issues.apache.org/jira/browse/AIRFLOW-2099?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ash Berlin-Taylor resolved AIRFLOW-2099.
----------------------------------------
       Resolution: Fixed
    Fix Version/s: 2.0.0

Issue resolved by pull request #3571
[https://github.com/apache/incubator-airflow/pull/3571]

> Task details cannot be shown when PythonOperator calls partial function / class instance with __call__
> ------------------------------------------------------------------------------------------------------
>
>                 Key: AIRFLOW-2099
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-2099
>             Project: Apache Airflow
>          Issue Type: Bug
>          Components: ui
>    Affects Versions: Airflow 1.8
>            Reporter: Matthew Revell
>            Assignee: Matthew Revell
>            Priority: Minor
>             Fix For: 2.0.0
>
>
> There are several scenarios where the inspect.getsource() method fails with:
> {{object at 0x00000000> is not a module, class, method, function, traceback, frame, or code object}}
> One such scenario is described in [AIRFLOW-1027|https://issues.apache.org/jira/browse/AIRFLOW-1027] where a partial function is used. Another is when an instance of a class which implements __call__() is used.
> Example:
> {{class MyClass(object):}}
> {{    def __init__(self):}}
> {{        pass}}
> {{    def __call__(self):}}
> {{        pass}}
> {{my_class = MyClass()}}
> {{dag_task = PythonOperator(}}
> {{    task_id='dag_task',}}
> {{    dag=dag, }}
> {{    python_callable=my_class,}}
> {{)}}
> There exists a PR for AIRFLOW-1027, however, this fix does not address this other scenario, and also does not guard against any other edge cases which my result in this error in future.
> A better solution would be to catch known scenarios with work arounds, and default to reporting that the source is unavailable for unknown cases. This would at least display the Task Instance details in every case.



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