[SERVER-77364] Speed up OpObservers with a filter framework in OpObserverRegistry Created: 22/May/23 Updated: 12/Dec/23 Resolved: 06/Jun/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.1.0-rc0, 7.0.0-rc4 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Matt Kneiser | Assignee: | Matt Kneiser |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||
| Backwards Compatibility: | Minor Change | ||||||||||||||||||||||||||||||||
| Backport Requested: |
v7.0
|
||||||||||||||||||||||||||||||||
| Sprint: | Execution Team 2023-06-12 | ||||||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||||||
| Description |
|
Today, CRUD Ops are implemented by nearly all of the ~19 OpObservers.
onInserts, aboutToDelete, and onDelete are a similar story with similar amounts of namespace filtering.
By filtering on namespace in the registry, we can eliminate many unnecessary virtual function calls for each CRUD op in the server.
Furthermore, I noticed that all namespace filtering in OpObservers can be fit into three categories:
|
| Comments |
| Comment by Githook User [ 09/Jun/23 ] |
|
Author: {'name': 'Matt Kneiser', 'email': 'matt.kneiser@mongodb.com', 'username': 'themattman'}Message: |
| Comment by Githook User [ 06/Jun/23 ] |
|
Author: {'name': 'Matt Kneiser', 'email': 'matt.kneiser@mongodb.com', 'username': 'themattman'}Message: |