diff options
Diffstat (limited to 'src/mongo/db/namespace_string.cpp')
-rw-r--r-- | src/mongo/db/namespace_string.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mongo/db/namespace_string.cpp b/src/mongo/db/namespace_string.cpp index 9471aca909c..bee7df5ca40 100644 --- a/src/mongo/db/namespace_string.cpp +++ b/src/mongo/db/namespace_string.cpp @@ -144,6 +144,18 @@ bool NamespaceString::isLegalClientSystemNS() const { return false; } +/** + * Oplog entries on 'system.views' should also be processed one at a time. View catalog immediately + * reflects changes for each oplog entry so we can see inconsistent view catalog if multiple oplog + * entries on 'system.views' are being applied out of the original order. + * + * Process updates to 'admin.system.version' individually as well so the secondary's FCV when + * processing each operation matches the primary's when committing that operation. + */ +bool NamespaceString::mustBeAppliedInOwnOplogBatch() const { + return isSystemDotViews() || isServerConfigurationCollection() || isPrivilegeCollection(); +} + NamespaceString NamespaceString::makeListCollectionsNSS(StringData dbName) { NamespaceString nss(dbName, listCollectionsCursorCol); dassert(nss.isValid()); |