acoustic-carpenter-78188
04/01/2026, 12:16 AMobstore.get_range_async raised a transient error (e.g. GCS 429), it was swallowed inside a BaseExceptionGroup by asyncio.TaskGroup, showing only "Filtered traceback" with no actionable message in task logs.
Summary
• Replaced logging.getLogger(name) with the shared flyte._logging.logger, consistentwith other storage modules
• Added inline try/except around task = await inq.get() — logs "Worker failed before receiving a task" if the queue itself raises
• Added inline try/except around obstore.get_range_async(...) — logs the failing file path and chunk offset before re-raising
Test Plan
• test_worker_logs_exception_on_download_failure — mocks obstore.get_range_async to raise RuntimeError("GCS 429"), asserts logger.exception is called with the failing file path, and that the exception still propagates
• test_worker_logs_exception_before_task_received — replaces asyncio.Queue with a subclass that raises on get() only for bounded queues (targeting inq, not outq), asserts the fallback log message is emitted
flyteorg/flyte-sdkacoustic-carpenter-78188
04/01/2026, 4:29 AM