Skip to content

Commit 8492ba2

Browse files
committed
Fixed race condition in AsyncQueryBatchCursor
JAVA-1824
1 parent a724ce8 commit 8492ba2

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

driver-core/src/main/com/mongodb/operation/AsyncQueryBatchCursor.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,16 +136,17 @@ public void onResult(final AsyncConnection connection, final Throwable t) {
136136
private void killCursor() {
137137
if (cursor != null) {
138138
final ServerCursor localCursor = cursor;
139+
final AsyncConnectionSource localConnectionSource = connectionSource;
139140
cursor = null;
140-
connectionSource.getConnection(new SingleResultCallback<AsyncConnection>() {
141+
connectionSource = null;
142+
localConnectionSource.getConnection(new SingleResultCallback<AsyncConnection>() {
141143
@Override
142144
public void onResult(final AsyncConnection connection, final Throwable connectionException) {
143145
connection.killCursorAsync(singletonList(localCursor.getId()), new SingleResultCallback<Void>() {
144146
@Override
145147
public void onResult(final Void result, final Throwable t) {
146148
connection.release();
147-
connectionSource.release();
148-
connectionSource = null;
149+
localConnectionSource.release();
149150
}
150151
});
151152
}

0 commit comments

Comments
 (0)