Summary
instrumentation-botocore-2 and instrumentation-botocore-3 CI jobs are deterministically failing with an import error inside vcrpy's aiohttp stubs. This is not flaky — every run fails with the same error.
The failure was first observed when cross-repo CI from opentelemetry-python merge queue runs hit it on PR open-telemetry/opentelemetry-python#5214 (a docstring-only change unrelated to botocore).
Error
.tox/py310-test-instrumentation-botocore-3/lib/python3.10/site-packages/vcr/stubs/aiohttp_stubs.py:21:
from aiohttp import ClientConnectionError, ClientResponse, CookieJar, RequestInfo, hdrs, streams
E AttributeError: module 'aiohttp.streams' has no attribute 'AsyncStreamReaderMixin'
Root cause
A newer aiohttp version removed/renamed AsyncStreamReaderMixin in aiohttp.streams. The installed vcrpy version's aiohttp stubs still reference the old symbol, so the import fails at collection time and the whole test job errors out.
Affected jobs
contrib / instrumentation-botocore-2
contrib / instrumentation-botocore-3
Reproductions (failing core merge_group runs)
Impact
Blocks the core repo merge queue when contrib cross-repo tests run, since any PR that triggers contrib CI hits the same failure regardless of what the PR actually changed.
Suggested fix
In instrumentation/opentelemetry-instrumentation-botocore/, either:
- Pin
vcrpy to a version compatible with the current aiohttp, or
- Constrain
aiohttp to a version still compatible with the installed vcrpy, or
- Bump
vcrpy to a release that no longer references AsyncStreamReaderMixin.
Option 3 is preferred if available — keeps deps current.
Summary
instrumentation-botocore-2andinstrumentation-botocore-3CI jobs are deterministically failing with an import error insidevcrpy's aiohttp stubs. This is not flaky — every run fails with the same error.The failure was first observed when cross-repo CI from
opentelemetry-pythonmerge queue runs hit it on PR open-telemetry/opentelemetry-python#5214 (a docstring-only change unrelated to botocore).Error
Root cause
A newer
aiohttpversion removed/renamedAsyncStreamReaderMixininaiohttp.streams. The installedvcrpyversion's aiohttp stubs still reference the old symbol, so the import fails at collection time and the whole test job errors out.Affected jobs
contrib / instrumentation-botocore-2contrib / instrumentation-botocore-3Reproductions (failing core merge_group runs)
Impact
Blocks the core repo merge queue when contrib cross-repo tests run, since any PR that triggers contrib CI hits the same failure regardless of what the PR actually changed.
Suggested fix
In
instrumentation/opentelemetry-instrumentation-botocore/, either:vcrpyto a version compatible with the currentaiohttp, oraiohttpto a version still compatible with the installedvcrpy, orvcrpyto a release that no longer referencesAsyncStreamReaderMixin.Option 3 is preferred if available — keeps deps current.