Ferdinanddb opened a new issue, #56291:
URL: https://github.com/apache/airflow/issues/56291

   ### Apache Airflow Provider(s)
   
   cncf-kubernetes
   
   ### Versions of Apache Airflow Providers
   
   See deployment details, but cncf-kubernetes provider version is 10.8.1, for 
info.
   
   ### Apache Airflow version
   
   3.1.0
   
   ### Operating System
   
   Official Airflow image: docker.io/apache/airflow:3.1.0-python3.12
   
   ### Deployment
   
   Official Apache Airflow Helm Chart
   
   ### Deployment details
   
   I use helm with a custom image built via this Dockerfile:
   
   ```
   FROM docker.io/apache/airflow:3.1.0-python3.12
   
   USER root
   
   # Copy requirements to working directory
   COPY requirements.txt /var/airflow/requirements.txt
   
   # Set the working directory in the container
   WORKDIR /var/airflow
   
   
   USER airflow
   
   RUN pip install --upgrade pip
   
   # Install the necessary dependencies
   RUN pip install \
       --no-cache-dir \
       --constraint 
"https://raw.githubusercontent.com/apache/airflow/constraints-3.1.0/constraints-3.12.txt";
 \
       -r /var/airflow/requirements.txt
   ```
   
   The requirements.txt file is:
   
   ```
   
apache-airflow[amazon,google,postgres,async,cncf.kubernetes,celery,slack,http,fab,standard,openlineage]==3.1.0
   ```
   
   ### What happened
   
   I am using the `SparkKubernetesOperator` as follow:
   
   ```
   full_reload_job = SparkKubernetesOperator(
           task_id="full_reload_job",
           namespace="spark-operator",
           
application_file="spark_app/full_reload_job/spark_application_config.yml",
           kubernetes_conn_id="kubernetes_default",
           random_name_suffix=True,
           get_logs=True,
           reattach_on_restart=True,
           delete_on_termination=True,
           do_xcom_push=False,
           deferrable=True,
           retries=0,
           on_execute_callback=upload_spark_config_to_gcs,
       )
   ```
   
   The job succeeds when `deferrable=False,` but fails when it is `True`.
   
   The error I get is:
   
   ```
   ERROR - Task failed with exception
   AttributeError: 'SparkKubernetesOperator' object has no attribute 'launcher'
   
   File 
"/home/airflow/.local/lib/python3.12/site-packages/airflow/sdk/execution_time/task_runner.py",
 line 920 in run
   File 
"/home/airflow/.local/lib/python3.12/site-packages/airflow/sdk/execution_time/task_runner.py",
 line 1307 in _execute_task
   File 
"/home/airflow/.local/lib/python3.12/site-packages/airflow/sdk/bases/operator.py",
 line 1632 in resume_execution
   File 
"/home/airflow/.local/lib/python3.12/site-packages/airflow/providers/cncf/kubernetes/operators/pod.py",
 line 956 in trigger_reentry
   File 
"/home/airflow/.local/lib/python3.12/site-packages/airflow/providers/cncf/kubernetes/operators/pod.py",
 line 978 in _clean
   File 
"/home/airflow/.local/lib/python3.12/site-packages/airflow/providers/cncf/kubernetes/operators/pod.py",
 line 1013 in post_complete_action
   File 
"/home/airflow/.local/lib/python3.12/site-packages/airflow/providers/cncf/kubernetes/operators/pod.py",
 line 1056 in cleanup
   File 
"/home/airflow/.local/lib/python3.12/site-packages/airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py",
 line 265 in process_pod_deletion
   ```
   
   Any idea why this is happening? It was working fine in Airflow 2.11.0 and 
before.
   
   ### What you think should happen instead
   
   The task should succeeds.
   
   ### How to reproduce
   
   Run a SparkKubernetesOperator task in deferrable mode.
   
   
   
   ### Anything else
   
   This issue https://github.com/apache/airflow/issues/55747 describes the same 
behavior but for a Snowflake operator. I suspect that this issue is not tied to 
a specific provider but is more generic (linked to how task are deferred maybe).
   
   ### Are you willing to submit PR?
   
   - [ ] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to