From d8997a230028dee39a15ac079c85898d9b7c1b1a Mon Sep 17 00:00:00 2001 From: Benety Goh Date: Fri, 11 Jun 2021 04:29:55 -0400 Subject: SERVER-49545 Remove FCV check for system.views in userAllowedWriteNS() --- .../allow_system_views_user_writes_in_fcv_44.js | 33 ---------------------- src/mongo/db/ops/insert.cpp | 6 +--- 2 files changed, 1 insertion(+), 38 deletions(-) delete mode 100644 jstests/multiVersion/allow_system_views_user_writes_in_fcv_44.js diff --git a/jstests/multiVersion/allow_system_views_user_writes_in_fcv_44.js b/jstests/multiVersion/allow_system_views_user_writes_in_fcv_44.js deleted file mode 100644 index 854a48b575d..00000000000 --- a/jstests/multiVersion/allow_system_views_user_writes_in_fcv_44.js +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Tests that users are allowed to write to the system.views collecion if not on the latest FCV. - * - * TODO (SERVER-49545): Remove this test when 5.0 becomes last-lts. - */ -(function() { -"use strict"; - -const conn = MongoRunner.runMongod(); -assert.neq(conn, null); -const db = conn.getDB("test"); - -const viewNs = "test.view"; -const viewDefinition = { - _id: viewNs, - viewOn: "coll", - pipeline: [] -}; -const invalidField = { - invalidField: true -}; - -assert.commandWorked(db.adminCommand({setFeatureCompatibilityVersion: lastLTSFCV})); - -db.system.views.drop(); -assert.commandWorked(db.createCollection("system.views")); - -assert.commandWorked(db.system.views.insert(viewDefinition)); -assert.commandWorked(db.system.views.update({}, invalidField)); -assert.commandWorked(db.system.views.remove({})); - -MongoRunner.stopMongod(conn); -})(); diff --git a/src/mongo/db/ops/insert.cpp b/src/mongo/db/ops/insert.cpp index c508f95d0c6..fedee3f6127 100644 --- a/src/mongo/db/ops/insert.cpp +++ b/src/mongo/db/ops/insert.cpp @@ -190,11 +190,7 @@ Status userAllowedWriteNS(OperationContext* opCtx, const NamespaceString& ns) { return Status::OK(); } - // TODO (SERVER-49545): Remove the FCV check when 5.0 becomes last-lts. - if (ns.isSystemDotProfile() || - (ns.isSystemDotViews() && serverGlobalParams.featureCompatibility.isVersionInitialized() && - serverGlobalParams.featureCompatibility.isGreaterThanOrEqualTo( - ServerGlobalParams::FeatureCompatibility::Version::kVersion47)) || + if (ns.isSystemDotProfile() || ns.isSystemDotViews() || (ns.isOplog() && repl::ReplicationCoordinator::get(getGlobalServiceContext())->isReplEnabled())) { return Status(ErrorCodes::InvalidNamespace, str::stream() << "cannot write to " << ns); -- cgit v1.2.1