summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGeorge Wangensteen <george.wangensteen@mongodb.com>2020-11-04 11:05:52 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-07-26 21:17:12 +0000
commitfc1eff70e7ce3f0dd53b884246723982fe6b6aac (patch)
tree92db05c7d3708565c87d988448f22b234649f846 /src
parent6bdae3b2899c0123e37172410ebe021e90cd2148 (diff)
downloadmongo-fc1eff70e7ce3f0dd53b884246723982fe6b6aac.tar.gz
SERVER-6036 Disable cursor timeout for cursors that belong to a session
(cherry picked from commit 920493f0c2b32fa43743934f6025790e7cf496e1)
Diffstat (limited to 'src')
-rw-r--r--src/mongo/db/cursor_manager.cpp2
-rw-r--r--src/mongo/s/query/cluster_cursor_manager.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/mongo/db/cursor_manager.cpp b/src/mongo/db/cursor_manager.cpp
index 790f91472b4..bd2800964fb 100644
--- a/src/mongo/db/cursor_manager.cpp
+++ b/src/mongo/db/cursor_manager.cpp
@@ -120,7 +120,7 @@ CursorManager::~CursorManager() {
}
bool CursorManager::cursorShouldTimeout_inlock(const ClientCursor* cursor, Date_t now) {
- if (cursor->isNoTimeout() || cursor->_operationUsingCursor) {
+ if (cursor->isNoTimeout() || cursor->_operationUsingCursor || cursor->getSessionId()) {
return false;
}
return (now - cursor->_lastUseDate) >= Milliseconds(getCursorTimeoutMillis());
diff --git a/src/mongo/s/query/cluster_cursor_manager.cpp b/src/mongo/s/query/cluster_cursor_manager.cpp
index 73ae523f978..64fcb8e4d87 100644
--- a/src/mongo/s/query/cluster_cursor_manager.cpp
+++ b/src/mongo/s/query/cluster_cursor_manager.cpp
@@ -411,7 +411,7 @@ std::size_t ClusterCursorManager::killMortalCursorsInactiveSince(OperationContex
stdx::unique_lock<Latch> lk(_mutex);
auto pred = [cutoff](CursorId cursorId, const CursorEntry& entry) -> bool {
- bool res = entry.getLifetimeType() == CursorLifetime::Mortal &&
+ bool res = entry.getLifetimeType() == CursorLifetime::Mortal && !entry.getLsid() &&
!entry.getOperationUsingCursor() && entry.getLastActive() <= cutoff;
if (res) {