[SERVER-63696] Replace generic DurableViewCatalog::onExternalChange handler with operation-specific handlers Created: 15/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: Dan Larkin-York Assignee: Backlog - Catalog and Routing
Resolution: Unresolved Votes: 0
Labels: catalog, oldstorexemea, techdebt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-57250 CollectionCatalog should handle and o... Closed
Related
is related to SERVER-63749 Put view validation logic on applyOps... Backlog
is related to SERVER-53870 Improve view creation performance ove... Closed
Assigned Teams:
Catalog and Routing
Participants:

 Description   

Currently we react to any change to the system.views collection (other than dropping it) by explicitly reloading the view catalog for the database. This was necessary back when we allowed direct user writes to the system, so invalid view definitions could be persisted. Since SERVER-43633 prohibited direct user writes to the system.views collection, we could now handle operations with a bit more finesse.

In particular, we could add different handlers for insert, update, and delete, to make more granular updates to the CollectionCatalog. We may want to refactor a bit to share functionality with the createView, modifyView, and dropView functions, without generating additional oplog entries; however, it's also possible we want a completely separate code path for handling the oplog entries as the logic we perform will likely not use the same type of error handling.



 Comments   
Comment by Dan Larkin-York [ 15/Feb/22 ]

As a side note, adding the insert handler will probably accomplish most of what we wanted to do to address SERVER-53870.

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