-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication, Storage
-
None
-
Fully Compatible
-
ALL
-
v4.2, v4.0
-
Repl 2019-08-26, Repl 2019-09-09, Repl 2019-09-23, Repl 2019-10-07
-
16
When validate is run, it marks a collection as always needing size adjustment. This causes rollback to assume that oplog application will correct the record store sizes, even though it won't if we have rolled back any inserts or deletes that change the size (and don't account for those).
If validate is called after we call RTT, then it should be marked for size adjustment, and if it is called before RTT it shouldn't be. We clear the "mark for size adjustment" state before each rollback, so it can really only be relevant to validates that happen during the rollback. I think we shouldn't allow validate while we're rolling back, and we should not mark collections for size adjustment on validate since it's unnecessary.
- is related to
-
SERVER-34976 clear the "needing size adjustment" set at the beginning of replication rollback
- Closed
- related to
-
SERVER-43843 Skip validate during the rollback fuzzer "restartNode" command
- Closed
-
SERVER-43972 initial_sync_capped_index.js should check SECONDARY state before running validate
- Closed
-
SERVER-52976 [4.2] collection_validation.cpp isn't used anywhere in the 4.2 branch
- Closed