zohaibfast99 opened a new pull request, #72557:
URL: https://github.com/apache/airflow/pull/72557

   Part of #72144. Covers the two "Shape A" call sites from that issue's table.
   
   `GlueJobOperator` and `GlueJobSensor` are `AwsBaseOperator` / 
`AwsBaseSensor` subclasses, so they always carry `region_name`, `verify` and 
`botocore_config`. Both forward only `region_name` when they defer, so the 
triggerer rebuilds its hook with default SSL verification and default botocore 
timeouts/retries. A deployment that sets `verify=False`, points `verify` at a 
private CA bundle, or tunes `botocore_config` gets those settings on the 
synchronous path and silently loses them the moment the task defers.
   
   `GlueJobCompleteTrigger` already accepts all three parameters, and its 
`hook()` already forwards all three into `GlueJobHook`, so this is a 
call-site-only fix and is complete end to end as it stands. It does not depend 
on #72171.
   
   related: #72144
   
   ### Tests
   
   One regression test per call site. Both assert on `trigger.serialize()[1]` 
rather than on trigger attributes, since the serialized payload is what 
actually reaches the triggerer process. `verify=False` is used deliberately, as 
a falsy value is the one most likely to be dropped by mistake.
   
   Verified both tests fail without the source change (`KeyError: 'verify'`) 
and pass with it. Full Glue operator/sensor/trigger suites pass (141 passed).
   
   ### A possible correction to the ECS rows in #72144
   
   While tracing this I think the issue's table may be slightly off for ECS. It 
lists `EcsCreateClusterOperator` and `EcsDeleteClusterOperator` under "trigger 
takes `**kwargs`; operator-side fix only", but `ClusterActiveTrigger.hook()` 
and `ClusterInactiveTrigger.hook()` are:
   
   ```python
   def hook(self) -> AwsGenericHook:
       return EcsHook(aws_conn_id=self.aws_conn_id, 
region_name=self.region_name)
   ```
   
   The `**kwargs` do reach `AwsBaseWaiterTrigger`, so the two parameters would 
serialize correctly, but the bespoke `hook()` builds the hook without them. An 
operator-side-only change there would look correct and serialize correctly 
while still polling with default `verify` / `botocore_config`. Those two sites 
look like they also need their `hook()` widened, or need #72171 to land first. 
Happy to open a separate issue if that's useful.
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes (please specify the tool below)
   
   Generated-by: Claude Code following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)


-- 
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