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]

Reply via email to