-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Execution
-
None
-
None
-
None
-
None
-
None
-
None
-
None
If a collection is dropped then recreated during shard migration within the same checkpoint and begins tracking its collection validation hash, this hash will not be persisted.
processOplogEntry() converts the two drop and create oplog entries into a single ReplicatedMetadataDelta with DDLState::kDroppedAndRecreated. See this comment for more information about the handling. See also this thread.
When SizeCountStore::write() processes the DDLState::kDroppedAndRecreated and sees the preexisting entry with no hash, the new hash will not be tracked.
Determine if this is the desired behavior. Is there a use case for starting collection validation hashing during shard migration? If not, we can keep the behavior as is.