Details
-
Improvement
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
Replication
-
Fully Compatible
-
Repl 2023-10-16, Repl 2023-10-30, Repl 2023-11-13, Repl 2023-11-27, Repl 2023-12-11
Description
OpObservers run on every operation, and often a given op observer isn't applicable to a given operation. We should ensure they take as little time as possible when they aren't applicable.
Specifically, OpObserverImpl should not create oplog entries when the oplog is disabled for the namespace (e.g. local, config.transactions, or on secondaries), nor should it access the TransactionParticipant or create a ShardingWriteRouter in this case.
The ClusterServerParameter should not create a namespace string just to compare it with a pre-specified one.
We should also have op observer microbenchmarks to measure this.
Attachments
Issue Links
- is related to
-
SERVER-81569 Improve performance of NamespaceString
-
- In Code Review
-
- related to
-
SERVER-84181 Skip creating oplog entry for unreplicated collections
-
- Closed
-