Details
-
New Feature
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
None
Description
from pr https://github.com/mariadb-corporation/mariadb-connector-r2dbc/issues/89
Fixed a potential memory leak where cancelled Exchange objects could remain stuck at the head of the exchange queue, blocking all subsequent queries.
When a subscription was cancelled before any onRequest() was called (demand = 0), the Exchange could not be processed in either onNext() or tryDrainQueue() because both only checked hasDemand(). This caused the cancelled Exchange to block the queue indefinitely.
stream must take isCancelled into account.