summaryrefslogtreecommitdiff
path: root/src/mongo/db/commands/getmore_cmd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/commands/getmore_cmd.cpp')
-rw-r--r--src/mongo/db/commands/getmore_cmd.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mongo/db/commands/getmore_cmd.cpp b/src/mongo/db/commands/getmore_cmd.cpp
index 8bfa36ea286..89d351baf86 100644
--- a/src/mongo/db/commands/getmore_cmd.cpp
+++ b/src/mongo/db/commands/getmore_cmd.cpp
@@ -337,13 +337,15 @@ public:
<< cursor->nss().ns());
}
- if (serverGlobalParams.featureCompatibility.getVersion() ==
+ if (serverGlobalParams.featureCompatibility.getVersionUnsafe() ==
ServerGlobalParams::FeatureCompatibility::Version::kFullyUpgradedTo40) {
// Ensure the lsid and txnNumber of the getMore match that of the originating command.
// This is important to ensure that transactions are being used correctly, but exposes a
// known issue where a 3.6 mongos can send a getMore without the appropriate session id.
// To work around the bug on 3.6, we only enforce that the lsid and txnNumber match when
- // we've upgraded to FCV 4.0. See SERVER-36212 for more details.
+ // we've upgraded to FCV 4.0. See SERVER-36212 for more details. Note that it is
+ // possible to reach this code path before the featureCompatibilityVersion has been
+ // created, so we must use getVersionUnsafe().
validateLSID(opCtx, request, cursor);
validateTxnNumber(opCtx, request, cursor);
}