dejii commented on code in PR #54101:
URL: https://github.com/apache/airflow/pull/54101#discussion_r2887497804
##########
providers/google/src/airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py:
##########
@@ -87,13 +88,9 @@ async def run(self) -> AsyncIterator[TriggerEvent]:
for job, operation in zip(jobs, operations):
if operation is None:
- yield TriggerEvent(
- {
- "status": "error",
- "message": f"Transfer job {job.name} has no
latest operation.",
- }
- )
- return
+ self.log.info("Transfer job %s has no latest operation
yet, waiting.", job.name)
+ all_operations_found = False
+ continue
Review Comment:
@shahar1 Done - pushed a timeout-based approach as you suggested.
Some extra context on why the current approach is buggy: the [GCP
docs](https://docs.cloud.google.com/storage-transfer/docs/reference/rest/v1/transferJobs)
describe `latestOperationName` as _"Present if a TransferOperation has been
created"_ -- absence is a documented, expected state. The official sample
handles it with "Transfer job has not run yet" rather than an error:
References:
https://cloud.google.com/storage-transfer/docs/manage-transfers#python
https://github.com/GoogleCloudPlatform/python-docs-samples/blob/HEAD/storagetransfer/check_latest_transfer_operation.py#L47-L57
--
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]