Skip to content

Commit f0ac2f5

Browse files
authored
[ServiceBus] Document aiohttp>=3.14.0 recommendation for AmqpOverWebsocket (#44028) (#48037)
Resolves customer issue #44028 ("Service Bus WebSocket connection breaks after 15 seconds"). The root cause is an upstream aiohttp bug (aio-libs/aiohttp#12030) fixed in aiohttp 3.14.0 — not an azure-servicebus defect. On aiohttp < 3.14.0 the WebSocket heartbeat can drop the AmqpOverWebsocket connection during long message processing, surfacing as a SocketError ("Cannot write to closing transport"). Adds a CHANGELOG "Other Changes" note recommending aiohttp>=3.14.0 on Python 3.10+, and noting that Python 3.9 users must upgrade Python to get an aiohttp release containing the fix (aiohttp 3.14.0 requires Python >=3.10). Fixes #44028
1 parent c91747d commit f0ac2f5

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

sdk/servicebus/azure-servicebus/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
- Fixed a bug where the async receiver factory methods on `azure.servicebus.aio.ServiceBusClient` (`get_queue_receiver`, `get_subscription_receiver`) and the async `ServiceBusReceiver` annotated the `auto_lock_renewer` keyword with the synchronous `AutoLockRenewer`, causing static type checkers to reject the documented `azure.servicebus.aio.AutoLockRenewer` usage. The annotation now references the async `AutoLockRenewer`, matching the docstrings and runtime behavior. ([#47948](https://github.com/Azure/azure-sdk-for-python/issues/47948))
1515
- Fixed a bug where closing a `PEEK_LOCK` receiver did not release messages that had been prefetched into the client buffer or were still in flight, so they remained locked at the broker until lock expiry — delaying their redelivery and inflating their delivery count. On close, a non-session `PEEK_LOCK` receiver now drains the link (stopping the broker and flushing in-flight transfers) and releases the buffered messages (`released` disposition), so the broker can redeliver them immediately without incrementing the delivery count. ([#42917](https://github.com/Azure/azure-sdk-for-python/issues/42917))
1616

17+
### Other Changes
18+
19+
- When using the async `AmqpOverWebsocket` transport on Python 3.10 or later, `aiohttp>=3.14.0` is now recommended. Earlier `aiohttp` versions have a WebSocket heartbeat bug ([aio-libs/aiohttp#12030](https://github.com/aio-libs/aiohttp/pull/12030)) that can cause the connection to be dropped during long message processing, surfacing as a `SocketError` ("Cannot write to closing transport"). Python 3.9 users must upgrade Python to install an `aiohttp` release containing this fix. ([#44028](https://github.com/Azure/azure-sdk-for-python/issues/44028))
20+
1721
## 7.14.3 (2025-11-11)
1822

1923
### Bugs Fixed

0 commit comments

Comments
 (0)