-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Replication
-
Fully Compatible
-
Repl 2023-10-16, Repl 2023-10-30, Repl 2023-11-13, Repl 2023-11-27, Repl 2023-12-11
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.
- is related to
-
SERVER-81569 Improve performance of NamespaceString
- Closed
- related to
-
SERVER-84181 Skip creating oplog entry for unreplicated collections
- Closed