-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Index Maintenance
-
None
-
Query Execution
As of SERVER-48047, a collMod command which attempts to set an index's hidden field to the same value as it already has in the index catalog results in a no-op. The hidden field will be omitted in the collMod oplog entry, and the command response will not include any information about the hidden field. This was necessary in order to support hidden indexes in multiversion scenarios.
However, the same is not currently true of the expireAfterSeconds field. If the user attempts to set this to the same value it already has, then the corresponding oplog entry will redundantly include the expireAfterSeconds field, and the command response will explicitly list the (identical) old and new values of the parameter.
We should decide which behaviour we want, both in terms of the oplog entry and the command response, and make sure that both fields are handled consistently. This may involve pushing the no-op detection down to the replication system here.
- is duplicated by
-
SERVER-48191 Consider making collMod for index option expireAfterSeconds return the _old and _new value only if the value actually changes
- Closed
- is related to
-
SERVER-48047 Do not generate "hidden" field in oplog if collMod "hidden" parameter is a no-op
- Closed