-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Reactive Streams
-
None
AsyncQueryBatchCursor#close does not release its reference to the ConnectionSource. This is not a problem if iteration completes successfully, as the getMore callback releases it when the server cursor is exhausted. But if iteration is interrupted due to error or the cursor is not fully iterated by the application, the reference will never get released. This can cause a leak, as a ConnectionSource can hold a reference to a resource (most likely a ClientSession.
- duplicates
-
JAVA-3938 Change stream connections not returned
- Closed
- is duplicated by
-
JAVA-3938 Change stream connections not returned
- Closed
- split to
-
JAVA-3961 Docs: Clarify cold publishers
- Closed
-
JAVA-3978 Introduce self-managing reference counting to AsyncConnection and AsyncConnectionSource
- Backlog
-
JAVA-3963 Document publisher properties in API docs
- Closed
-
JAVA-3964 Improve the documentation of the ReferenceCounted interface
- Closed
-
JAVA-3965 Document com.mongodb.ServerCursor with @Immutable
- Closed
-
JAVA-3974 Async CryptBinding.retain() returns wrapped reference instead of this
- Closed
-
JAVA-3976 If Subscriber.onNext throws an exception, then BatchCursor.close is not called, AsyncQueryBatchCursor does not kill the server cursor
- Closed
-
JAVA-3972 Delete BatchCursor.tryNext and AsyncBatchCursor.tryNext methods
- Closed
-
JAVA-3975 AsyncSessionBinding.retain and SessionBindingAsyncConnectionSource.retain return wrapped instead of this
- Closed