airflow-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergio Herrera (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AIRFLOW-1252) Experimental API - exception when conf is present in JSON body
Date Mon, 29 May 2017 11:19:04 GMT

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

Sergio Herrera updated AIRFLOW-1252:
------------------------------------
    Description: 
When someones calls to the endpoint 
_POST <host>:<port>/api/experimental/dags/<dag_id>/dag_runs_
, Airflow never run that request if the body of that contains _conf_.
This occurs due to a mismatch between types when calling function _trigger_dag()_, which is
also used by *CLI*. That function perform a _json.loads(conf)_ because from CLI the type of
conf is _string_, but, in the other side, from *experimental API*, that type is _dict_ (because
_Json_ is processed before to get all data, such as execution_date).

There are two possibilities:
1. Look for every use of _trigger_dag()_ function and put _Json_ formatting from outside the
function.
2. In the *experimental API*, put the conf in a string (with _json.dumps()_) to allow _trigger_dag()_
transform into _dict_.

I have implemented the second option, so I can make a PR with that if you want.

Thank you a lot

  was:
When someones calls to the endpoint ``, Airflow never run that request.
This occurs due to a mismatch between types when calling function trigger_dag(), which is
also used by CLI client. That function perform a json.loads(conf) because from CLI the type
of conf is String, but in the other side, from experimental API, that type is Dict (because
json is processed before to get all data).

There are two possibilities:
1. Look for every use of trigger_dag() function and put json formatting from outside the function.
2. In the experimental API, put the conf in a string (with json.dumps()) to allow trigger_dag()
the transform into dict.

I have implemented the second option, so I can make a PR with that if you want.

Thank you a lot


> Experimental API - exception when conf is present in JSON body
> --------------------------------------------------------------
>
>                 Key: AIRFLOW-1252
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-1252
>             Project: Apache Airflow
>          Issue Type: Bug
>          Components: api
>    Affects Versions: Airflow 1.8, 1.8.1
>         Environment: Python 2.7
>            Reporter: Sergio Herrera
>            Assignee: Sergio Herrera
>
> When someones calls to the endpoint 
> _POST <host>:<port>/api/experimental/dags/<dag_id>/dag_runs_
> , Airflow never run that request if the body of that contains _conf_.
> This occurs due to a mismatch between types when calling function _trigger_dag()_, which
is also used by *CLI*. That function perform a _json.loads(conf)_ because from CLI the type
of conf is _string_, but, in the other side, from *experimental API*, that type is _dict_
(because _Json_ is processed before to get all data, such as execution_date).
> There are two possibilities:
> 1. Look for every use of _trigger_dag()_ function and put _Json_ formatting from outside
the function.
> 2. In the *experimental API*, put the conf in a string (with _json.dumps()_) to allow
_trigger_dag()_ transform into _dict_.
> I have implemented the second option, so I can make a PR with that if you want.
> Thank you a lot



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message