This is an automated email from the ASF dual-hosted git repository.

ferruzzi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 9ea78d9d72 Fix default value for aws batch operator retry strategy 
(#39608)
9ea78d9d72 is described below

commit 9ea78d9d726d9ddb6109a7fba0c3a838f8a05610
Author: 0x26res <arthur.and...@gmail.com>
AuthorDate: Wed May 15 22:05:24 2024 +0100

    Fix default value for aws batch operator retry strategy (#39608)
    
    Co-authored-by: aandres <aand...@tradewelltech.co>
---
 airflow/providers/amazon/aws/operators/batch.py    |  4 +--
 tests/providers/amazon/aws/operators/test_batch.py | 32 ++++++++++++++++++++--
 2 files changed, 31 insertions(+), 5 deletions(-)

diff --git a/airflow/providers/amazon/aws/operators/batch.py 
b/airflow/providers/amazon/aws/operators/batch.py
index afca0fc615..00b6287145 100644
--- a/airflow/providers/amazon/aws/operators/batch.py
+++ b/airflow/providers/amazon/aws/operators/batch.py
@@ -206,9 +206,7 @@ class BatchOperator(BaseOperator):
         self.scheduling_priority_override = scheduling_priority_override
         self.array_properties = array_properties
         self.parameters = parameters or {}
-        self.retry_strategy = retry_strategy or {}
-        if not self.retry_strategy.get("attempts", None):
-            self.retry_strategy["attempts"] = 1
+        self.retry_strategy = retry_strategy
         self.waiters = waiters
         self.tags = tags or {}
         self.wait_for_completion = wait_for_completion
diff --git a/tests/providers/amazon/aws/operators/test_batch.py 
b/tests/providers/amazon/aws/operators/test_batch.py
index 2ac9557813..f769c1baa8 100644
--- a/tests/providers/amazon/aws/operators/test_batch.py
+++ b/tests/providers/amazon/aws/operators/test_batch.py
@@ -20,6 +20,7 @@ from __future__ import annotations
 from unittest import mock
 from unittest.mock import patch
 
+import botocore.client
 import pytest
 
 from airflow.exceptions import AirflowException, 
AirflowProviderDeprecationWarning, TaskDeferred
@@ -64,7 +65,7 @@ class TestBatchOperator:
             max_retries=self.MAX_RETRIES,
             status_retries=self.STATUS_RETRIES,
             parameters=None,
-            retry_strategy=None,
+            retry_strategy={"attempts": 1},
             container_overrides={},
             array_properties=None,
             aws_conn_id="airflow_test",
@@ -112,6 +113,34 @@ class TestBatchOperator:
 
         
self.get_client_type_mock.assert_called_once_with(region_name="eu-west-1")
 
+    def test_init_defaults(self):
+        """Test constructor default values"""
+        batch_job = BatchOperator(
+            task_id="task",
+            job_name=JOB_NAME,
+            job_queue="queue",
+            job_definition="hello-world",
+        )
+        assert batch_job.job_id is None
+        assert batch_job.job_name == JOB_NAME
+        assert batch_job.job_queue == "queue"
+        assert batch_job.job_definition == "hello-world"
+        assert batch_job.waiters is None
+        assert batch_job.hook.max_retries == 4200
+        assert batch_job.hook.status_retries == 10
+        assert batch_job.parameters == {}
+        assert batch_job.retry_strategy is None
+        assert batch_job.container_overrides is None
+        assert batch_job.array_properties is None
+        assert batch_job.node_overrides is None
+        assert batch_job.share_identifier is None
+        assert batch_job.scheduling_priority_override is None
+        assert batch_job.hook.region_name is None
+        assert batch_job.hook.aws_conn_id is None
+        assert issubclass(type(batch_job.hook.client), 
botocore.client.BaseClient)
+        assert batch_job.tags == {}
+        assert batch_job.wait_for_completion is True
+
     def test_template_fields_overrides(self):
         assert self.batch.template_fields == (
             "job_id",
@@ -238,7 +267,6 @@ class TestBatchOperator:
             "jobName": JOB_NAME,
             "jobDefinition": "hello-world",
             "parameters": {},
-            "retryStrategy": {"attempts": 1},
             "tags": {},
         }
         if override == "overrides":

Reply via email to