[SERVER-36718] Validation hook should upgrade before validating index consistency Created: 17/Aug/18  Updated: 29/Oct/23  Resolved: 27/Aug/18

Status: Closed
Project: Core Server
Component/s: Testing Infrastructure
Affects Version/s: None
Fix Version/s: 3.4.18, 4.1.3

Type: Task Priority: Major - P3
Reporter: Xiangyu Yao (Inactive) Assignee: Xiangyu Yao (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Problem/Incident
Related
related to SERVER-37074 Validation hook should continue downg... Closed
related to SERVER-53359 jstestfuzz (mutational) fuzzer is for... Closed
is related to SERVER-43627 Remove v4.2 FCV handling from Validat... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v3.4
Sprint: Storage NYC 2018-08-27, Storage NYC 2018-09-10
Participants:
Linked BF Score: 23

 Description   

If a big index key (>1KB) has been inserted in FCV 4.2 and then a downgrade happens, the big index key remains on disk. This makes the index validation fail in FCV 4.0 because FCV 4.0 does not allow big index keys. This behavior is expected as we wrote in the design of PM-284:

It is expected that a big index key inserted in FCV 4.2 causes the index validation in FCV 4.0 fail. The solution is to drop the index and run validate again.

Therefore, the fuzzer should keep in mind this assumption and not validate in this case.



 Comments   
Comment by Githook User [ 05/Oct/18 ]

Author:

{'name': 'Xiangyu Yao', 'email': 'xiangyu.yao@mongodb.com', 'username': 'xy24'}

Message: SERVER-36718 Add forceValidationWithFeatureCompatibilityVersion to collection validation hook

(cherry picked from commit bdb7951bc48accda8368f5893bdf2627fc2588bf)
Branch: v3.4
https://github.com/mongodb/mongo/commit/13e13e9ba8a720b0ee95b70c62e59a712af52ac8

Comment by Githook User [ 27/Aug/18 ]

Author:

{'name': 'Xiangyu Yao', 'email': 'xiangyu.yao@mongodb.com', 'username': 'xy24'}

Message: SERVER-36718 Add forceValidationWithFeatureCompatibilityVersion to collection validation hook
Branch: master
https://github.com/mongodb/mongo/commit/bdb7951bc48accda8368f5893bdf2627fc2588bf

Comment by Xiangyu Yao (Inactive) [ 17/Aug/18 ]

Sure. Sounds like it is just reverting some code back. I am happy to do that.

Comment by Max Hirschhorn [ 17/Aug/18 ]

The ability to force the fuzzer to run validate with a particular featureCompatibilityVersion was removed in the changes from 67500ef as part of SERVER-29350. We should add TestData.forceValidationWithFeatureCompatibilityVersion back and have the jstestfuzz*.yml test suites set it to "4.2" to address the failures we're seeing.

xiangyu.yao, does this seem like work you'd be able to pick up?

Generated at Thu Feb 08 04:43:53 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.