[SERVER-63749] Put view validation logic on applyOps direct writes to <db>.system.views Created: 16/Feb/22  Updated: 26/Oct/23

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Dianna Hohensee (Inactive) Assignee: Backlog - Catalog and Routing
Resolution: Unresolved Votes: 0
Labels: catalog, oldstorexemea
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-63696 Replace generic DurableViewCatalog::o... Backlog
Assigned Teams:
Catalog and Routing
Participants:

 Description   

The goal here is to move towards removing the internal view catalog logic where we support having invalid views. Regular user writes to <db>.system.views collections is supposed to no longer be allowed re SERVER-43633. However, applyOps appears to be a loophole.

I believe the idea is that downstream teams want to take oplog entries and directly apply them to mongod servers via applyOps. So perhaps there's a way we can add validation logic here, where primaries at least can error – some investigation of how downstream teams use applyOps is necessary, to determine what we must support versus can prevent. Update: Max thinks mongomirror might not use applyOps for views after all.



 Comments   
Comment by Dianna Hohensee (Inactive) [ 16/Feb/22 ]

Some follow up work to this would be to add a version upgrade step at some point to ensure all existing view entries are valid. With that, I think we can get rid of the invalid view catalog handling in our code.

Generated at Thu Feb 08 05:58:34 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.