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

amoghrajesh 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 067e33ab59e Warn for bad combination of parameters for 
RedshiftDataOperator (#69524)
067e33ab59e is described below

commit 067e33ab59e1e4f668db911cabc4380be4260272
Author: Amogh Desai <[email protected]>
AuthorDate: Thu Jul 9 10:55:35 2026 +0530

    Warn for bad combination of parameters for RedshiftDataOperator (#69524)
---
 .../providers/amazon/aws/operators/redshift_data.py       |  5 +++++
 .../tests/unit/amazon/aws/operators/test_redshift_data.py | 15 +++++++++++++++
 2 files changed, 20 insertions(+)

diff --git 
a/providers/amazon/src/airflow/providers/amazon/aws/operators/redshift_data.py 
b/providers/amazon/src/airflow/providers/amazon/aws/operators/redshift_data.py
index 3168b9f69c4..04dc8c32162 100644
--- 
a/providers/amazon/src/airflow/providers/amazon/aws/operators/redshift_data.py
+++ 
b/providers/amazon/src/airflow/providers/amazon/aws/operators/redshift_data.py
@@ -125,6 +125,11 @@ class 
RedshiftDataOperator(AwsBaseOperator[RedshiftDataHook]):
         self.deferrable = deferrable
         self.session_id = session_id
         self.session_keep_alive_seconds = session_keep_alive_seconds
+        if self.deferrable and not self.wait_for_completion:
+            self.log.warning(
+                "deferrable=True and wait_for_completion=False are set; 
deferrable will be "
+                "ignored and this task will run non-deferrable."
+            )
 
     def execute(self, context: Context) -> 
list[GetStatementResultResponseTypeDef] | list[str]:
         """Execute a statement against Amazon Redshift."""
diff --git 
a/providers/amazon/tests/unit/amazon/aws/operators/test_redshift_data.py 
b/providers/amazon/tests/unit/amazon/aws/operators/test_redshift_data.py
index 19182eb4c86..cb2f08db7e7 100644
--- a/providers/amazon/tests/unit/amazon/aws/operators/test_redshift_data.py
+++ b/providers/amazon/tests/unit/amazon/aws/operators/test_redshift_data.py
@@ -87,6 +87,21 @@ class TestRedshiftDataOperator:
         assert op.hook._verify is None
         assert op.hook._config is None
 
+    @mock.patch.object(RedshiftDataOperator, "log", 
new_callable=mock.MagicMock)
+    def test_init_warns_when_deferrable_has_no_effect(self, mock_log):
+        """deferrable=True is a no-op when wait_for_completion=False; the user 
should be told."""
+        RedshiftDataOperator(
+            task_id=TASK_ID,
+            database=DATABASE,
+            sql=SQL,
+            deferrable=True,
+            wait_for_completion=False,
+        )
+        mock_log.warning.assert_called_once_with(
+            "deferrable=True and wait_for_completion=False are set; deferrable 
will be "
+            "ignored and this task will run non-deferrable."
+        )
+
     
@mock.patch("airflow.providers.amazon.aws.hooks.redshift_data.RedshiftDataHook.execute_query")
     
@mock.patch("airflow.providers.amazon.aws.hooks.redshift_data.RedshiftDataHook.conn")
     def test_execute(self, mock_conn, mock_exec_query):

Reply via email to