You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Yuu Yamashita (JIRA)" <ji...@apache.org> on 2017/04/12 01:35:41 UTC

[jira] [Created] (AIRFLOW-1102) 'airflow webserver' doesn't work with gunicorn 19.4+

Yuu Yamashita created AIRFLOW-1102:
--------------------------------------

             Summary: 'airflow webserver' doesn't work with gunicorn 19.4+
                 Key: AIRFLOW-1102
                 URL: https://issues.apache.org/jira/browse/AIRFLOW-1102
             Project: Apache Airflow
          Issue Type: Bug
          Components: dependencies
            Reporter: Yuu Yamashita


{{airflow webserver}} will show an error of "Error: 'airflow.www.gunicorn_config' doesn't exist" if it invoked with gunicorn 19.4+, just like the following example.

{noformat}
% airflow webserver
[2017-04-11 05:34:28,945] {__init__.py:57} INFO - Using executor LocalExecutor
  ____________       _____________
 ____    |__( )_________  __/__  /________      __
____  /| |_  /__  ___/_  /_ __  /_  __ \_ | /| / /
___  ___ |  / _  /   _  __/ _  / / /_/ /_ |/ |/ /
 _/_/  |_/_/  /_/    /_/    /_/  \____/____/|__/

[2017-04-11 05:34:29,968] [32339] {models.py:167} INFO - Filling up the DagBag from ./dags
[2017-04-11 05:34:30,427] [32339] {connectionpool.py:735} INFO - Starting new HTTPS connection (1): sts.amazonaws.com
Running the Gunicorn Server with:
Workers: 4 sync
Host: 0.0.0.0:8081
Timeout: 120
Logfiles: - -
=================================================================

Error: 'airflow.www.gunicorn_config' doesn't exist
{noformat}

At present, it seems that airflow is configured to require gunicorn prior to 19.4. It should be fixed intrinsically for future upgrade of gunicorn anyways.

https://github.com/benoitc/gunicorn/blob/19.4/gunicorn/app/base.py#L111-L119

Starting from {{gunicorn}} 9.4, it seems it started requiring prefix "python:" for module name passed to {{-c}}. Because {{airflow webserver}} [is specifying airflow.www.gunicorn_config|https://github.com/apache/incubator-airflow/blob/6b1c327ee886488eedbe8a8721708b89f37d5560/airflow/bin/cli.py#L779] as {{-c}} for {{gunicorn}}, it won't work with gunicorn 9.4+

* gunicorn 9.3: https://github.com/benoitc/gunicorn/blob/19.3/gunicorn/app/base.py#L111-L114
* gunicorn 9.4: https://github.com/benoitc/gunicorn/blob/19.4/gunicorn/app/base.py#L111-L119

I've opened [a PR to gunicorn|https://github.com/benoitc/gunicorn/pull/1499] to restore original behavior prior to 19.3. However, it'd be also better to be fixed in {{airflow webserver}} itself.

h5. See also

* https://github.com/benoitc/gunicorn/pull/1068



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