acoustic-carpenter-78188
04/09/2026, 11:58 AMObstoreParallelReader to surface the real underlying exception when a Python 3.11+ asyncio.TaskGroup fails with exactly one sub-exception. Previously, a single worker failure during parallel downloads could bubble up as ExceptionGroup: unhandled errors in a TaskGroup which obscured the actual storage error in runtime logs and tracebacks.
• Broadens worker-side exception logging.
• Fixes a pre-3.11 bug: it waited only on outq.get(), so if a worker failed before queueing a result, the consumer could block forever. Changed that branch to wait on both queued results and fill/worker task completion.
flyteorg/flyte-sdkacoustic-carpenter-78188
04/09/2026, 5:22 PM