[SERVER-85459] bucketRoundingSeconds param is accepted by nodes on FCV 6.0, binary 7.0 Created: 19/Jan/24  Updated: 26/Jan/24

Status: Open
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Vishnu Kaushik Assignee: Dan Larkin-York
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Related
related to SERVER-82119 Add guardrails to prevent incompatibi... Open
related to SERVER-85797 Add a test that diffs IDL files for c... Open
Assigned Teams:
Storage Execution
Operating System: ALL
Sprint: Execution Team 2024-02-19
Participants:
Linked BF Score: 112

 Description   

The bucketRoundingSeconds param for timeseries doesn't exist on FCV 6.0. It is nowhere to be found in the 6.0 docs, and we can see that SERVER-67595, which introduced it, has a fix version of 6.1-rc0.

However, when you run the following command on a mongod with binary version 7.0, but with FCV 6.0, it succeeds:

    db.createCollection("mycoll1", {
        timeseries: {
            timeField: 'x',
            bucketRoundingSeconds: 7,
            bucketMaxSpanSeconds: bucketMaxSpanSecondsTime
        }
    });

This is problematic because when we're running a mixed version replica set with 7.0 and 6.0 binaries, if the primary with bin version 7.0 accepts the command, the secondaries with bin version 6.0 won't understand the param during oplog application and will crash.

The purpose of FCV is to help with such cases: all nodes should behave according to their FCV. Therefore, if a node with bin version 7.0 but FCV 6.0 sees this param, it should reject it - in this case, it means the primary should have rejected the command.



 Comments   
Comment by Steven Vannelli [ 23/Jan/24 ]

Triage notes: Scheduling for the 2-19 sprint since this is not failing frequently and the team believes that is because it is a very rare situation.

Generated at Thu Feb 08 06:57:48 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.