You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Aizhamal Nurmamat kyzy (JIRA)" <ji...@apache.org> on 2019/05/18 02:58:00 UTC

[jira] [Updated] (AIRFLOW-3857) spark_submit_hook cannot kill pod in kubernetes

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

Aizhamal Nurmamat kyzy updated AIRFLOW-3857:
--------------------------------------------
    Component/s:     (was: kubernetes)

> spark_submit_hook cannot kill pod in kubernetes
> -----------------------------------------------
>
>                 Key: AIRFLOW-3857
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-3857
>             Project: Apache Airflow
>          Issue Type: Bug
>          Components: contrib
>    Affects Versions: 1.10.0, 1.10.1, 1.10.2
>         Environment: any
>            Reporter: Olivier Girardot
>            Assignee: Olivier Girardot
>            Priority: Major
>             Fix For: 2.0.0
>
>
> When trying to kill a driver pod (for example due to a timeout) the `spark_submit_hook` does not use the proper kubernetes api and ends up calling a non-existent member on the CoreV1Api object : 
>  
> {code:java}
> [2019-02-09 07:06:19,883] {{logging_mixin.py:95}} INFO - [2019-02-09 07:06:19,883] {{spark_submit_hook.py:552}} INFO - Killing pod ...-20190209-a48f77e00aa0367ca39f6495b8f6cc08-driver on Kubernetes
> [2019-02-09 07:06:19,892] {{models.py:1788}} ERROR - 'CoreV1Api' object has no attribute 'V1DeleteOptions'
> Traceback (most recent call last):
>  File "/usr/local/lib/python3.6/site-packages/airflow/models.py", line 1652, in _run_raw_task
>  result = task_copy.execute(context=context)
> ...
>  File "/usr/local/lib/python3.6/site-packages/airflow/contrib/hooks/spark_submit_hook.py", line 332, in submit
>  self._process_spark_submit_log(iter(self._submit_sp.stdout.readline, ''))
>  File "/usr/local/lib/python3.6/site-packages/airflow/contrib/hooks/spark_submit_hook.py", line 379, in _process_spark_submit_log
>  for line in itr:
>  File "/usr/local/lib/python3.6/site-packages/airflow/utils/timeout.py", line 42, in handle_timeout
>  raise AirflowTaskTimeout(self.error_message)
> airflow.exceptions.AirflowTaskTimeout: Timeout
> During handling of the above exception, another exception occurred:
> Traceback (most recent call last):
>  File "/usr/local/lib/python3.6/site-packages/airflow/models.py", line 1654, in _run_raw_task
>  task_copy.on_kill()
>  ...
>  File "/usr/local/lib/python3.6/site-packages/airflow/contrib/hooks/spark_submit_hook.py", line 560, in on_kill
>  body=client.V1DeleteOptions(),
> AttributeError: 'CoreV1Api' object has no attribute 'V1DeleteOptions'
> [2019-02-09 07:06:19,896] {{models.py:1817}} INFO - All retries failed; marking task as FAILED
> {code}
>  
> This is only due to the use of the kube_client (which is really the kubernetes.client.CoreV1Api) instead of the kubernetes.client.
>  
>  



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