<#883 fix: surface worker errors hidden inside Ba...
# flyte-github
a
#883 fix: surface worker errors hidden inside BaseExceptionGroup in parallel reader Pull request opened by AdilFayyaz When
obstore.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-sdk