diff options
author | samantharitter <samantha.ritter@10gen.com> | 2015-10-01 16:45:42 -0400 |
---|---|---|
committer | samantharitter <samantha.ritter@10gen.com> | 2015-11-04 09:57:20 -0500 |
commit | a5aecae4e39468fe8d4952f8512b9a34677e2795 (patch) | |
tree | 5c349fae47ce4e02ea1419a88d0ef3be11e5697d /src/mongo/executor/network_interface_asio.cpp | |
parent | 2af435e3a7f28c0a45c89cff882f2033e2ffd7d5 (diff) | |
download | mongo-a5aecae4e39468fe8d4952f8512b9a34677e2795.tar.gz |
SERVER-20546 Abort if connections are returned to connection pool in an unknown state
Diffstat (limited to 'src/mongo/executor/network_interface_asio.cpp')
-rw-r--r-- | src/mongo/executor/network_interface_asio.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/executor/network_interface_asio.cpp b/src/mongo/executor/network_interface_asio.cpp index 19f38107de6..5f554b4fa94 100644 --- a/src/mongo/executor/network_interface_asio.cpp +++ b/src/mongo/executor/network_interface_asio.cpp @@ -205,8 +205,14 @@ void NetworkInterfaceASIO::startCommand(const TaskExecutor::CallbackHandle& cbHa // If we didn't find the request, we've been canceled if (eraseCount == 0) { lk.unlock(); + onFinish({ErrorCodes::CallbackCanceled, "Callback canceled"}); + + // Though we were canceled, we know that the stream is fine, so indicate success. + conn->indicateSuccess(); + signalWorkAvailable(); + return; } |