[SERVER-35776] Add FCV 4.2 checks for change stream resume token changes Created: 25/Jun/18  Updated: 29/Oct/23  Resolved: 04/Sep/18

Status: Closed
Project: Core Server
Component/s: Aggregation Framework
Affects Version/s: None
Fix Version/s: 4.1.3

Type: Task Priority: Major - P3
Reporter: Nicholas Zolnierz Assignee: Charlie Swanson
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Gantt End to End
has to be finished together with SERVER-35977 Blacklist select change streams tests... Closed
Related
related to SERVER-36887 Test a change stream's ability to pro... Closed
Backwards Compatibility: Fully Compatible
Sprint: Query 2018-08-13, Query 2018-08-27, Query 2018-09-10
Participants:
Linked BF Score: 46

 Comments   
Comment by Githook User [ 04/Sep/18 ]

Author:

{'name': 'Charlie Swanson', 'email': 'charlie.swanson@mongodb.com', 'username': 'cswanson310'}

Message: SERVER-35776 Basic 4.0-4.2 up/downgrade for change streams
Branch: master
https://github.com/mongodb/mongo/commit/92f108d9379c8b7f7d5769ed38be517b45858b28

Comment by Charlie Swanson [ 27/Aug/18 ]

Ok great, thanks blake.oler. I've started work on a simple version of this ticket that should unblock that testing.

I've filed SERVER-36887 to track remaining work necessary for change streams to work correctly during the 4.0 -> 4.2 upgrade/dowgrade cycle - but we can do something similar to what we did on 3.6 for now and it should all work okay in tests where the FCV remains constant, as I believe they would in the sharding_last_stable_mongos_and_mixed_shards suites.

Comment by Blake Oler [ 27/Aug/18 ]

charlie.swanson You're right – the priority for this ticket is to re-enable tests disabled in the sharding_last_stable_mongos_and_mixed_shards suite (SERVER-35977). If something quicker can be done to make the disabled tests run and pass, that would be fine for now.

Comment by Ian Whalen (Inactive) [ 27/Jul/18 ]

charlie.swanson it also looks like this is one of the last things in our 4.2 up/down project. would be great if we could really finish it this iteraiton.

Comment by Blake Oler [ 26/Jul/18 ]

Note: Don't unblacklist update_sharded.js when this ticket is complete. Refer to SERVER-36229.

Comment by Blake Oler [ 19/Jul/18 ]

As an FYI, we're putting this into the 4.2 Upgrade/Downgrade epic so we can complete the project with a stable sharding_last_stable_mongos_and_mixed_shards suite.

Comment by Ian Whalen (Inactive) [ 12/Jul/18 ]

As part of this work we should unblacklist the tests blacklisted in SERVER-35977.

Comment by Charlie Swanson [ 09/Jul/18 ]

nicholas.zolnierz yes, we should do the same thing we did for the 3.6 to 4.0 upgrade, namely what was tested here. You should be able to resume a change stream on the new version with a resume token from the old version, even if the FCV has been upgraded to 4.2.

Comment by Nicholas Zolnierz [ 06/Jul/18 ]

charlie.swanson I've linked BF-9792 which is caused by the resume token changes from SERVER-34789.  Blake recently switched on FCV 4.2 and the "sharding_last_stable_mongos_and_mixed_shards" suite, which runs with a 4.0 mongos and mixed bin version shards with downgraded FCVs. The 4.2 mongod's are setting the new 'fromInvalidate' bit which of course is not understood by the 4.0 mongod's.  I confirmed that adding FCV checks around the new bit will fix the tests.

One question is do we always want to be able to parse the old format even when fully upgraded to 4.2? I don't think it would be possible to generate a token with the old format once upgraded, however its certainly possible to use a very old token that was generated before upgrading. 

Comment by Ian Whalen (Inactive) [ 29/Jun/18 ]

Charlie to figure out how to schedule this given planned changes for sharded transactions.

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