[SERVER-46166] Enumerate and remove Execution-related FCV 4.2-dependent code and tests Created: 14/Feb/20  Updated: 29/Oct/23  Resolved: 01/Apr/20

Status: Closed
Project: Core Server
Component/s: Upgrade/Downgrade
Affects Version/s: None
Fix Version/s: 4.7.0

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

Issue Links:
Depends
depends on SERVER-46773 Remove v4.4 FCV handling for simultan... Closed
depends on SERVER-46777 Remove v4.4-specific handling for col... Closed
depends on SERVER-46778 Remove v4.4 FCV handling for namespac... Closed
depends on SERVER-46781 Remove v4.4 FCV handling for collecti... Closed
depends on SERVER-46782 Add a comment to FCV handling code in... Closed
Related
related to SERVER-46784 Make jstests/multiVersion/keystring_i... Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2020-03-23, Execution Team 2020-04-06
Participants:

 Description   

The following tasks need to be completed once we branch for 4.6:

1. Create a list of tickets with code and tests to remove, add them to the 4.6 Upgrade/Downgrade Epic, and mark them as "is depended on by" this ticket. This will assist the Upgrade/Downgrade team in tracking progress. If there is an insufficient amount of work to warrant multiple tickets, then the work can be done under this ticket directly.

2. Complete all necessary tickets promptly.

3. Update SERVER-46589, identifying Execution-related generic upgrade/downgrade references that the Upgrade/Downgrade team should update now that the 4.2-dependent references have been removed.



 Comments   
Comment by Dianna Hohensee (Inactive) [ 01/Apr/20 ]

All the FCV tickets this work depends upon have been completed.

Comment by Jason Chan [ 10/Mar/20 ]

dianna.hohenseeI agree trying to traverse the git history will be difficult. I believe in most cases, it would work to assume ownership of the FCV code based on where the code is located.

SERVER-46589 and tickets similar are meant to help track any team-specific generic FCV code that the upgrade/downgrade team might miss. Creating the tickets like so also helps to split the code reviews up in a clean manner. If you feel this is unnecessary, then feel free to ignore step 3. The upgrade/downgrade team will rely on the references described in SERVER-42162 (the 4.4 upgrade/downgrade project equivalent of SERVER-46589) and any other references to the common FCV constants to determine what needs to be updated.

Comment by Dianna Hohensee (Inactive) [ 10/Mar/20 ]

jason.chan I think it will be difficult to track down which team added what FCV code that is intended to remain across binary versions. The git history becomes a mess to look through because the code gets updated to the new FCV values every release.

Instead, I recommend the upgrade/downgrade team look at each remaining reference after the teams have finished removing what belongs to them. Each remaining reference should ideally have a comment explaining that the FCV handling must remain across versions. If there is no explanation on the code, then it will need to be investigated because no team thought it belonged to them, and either removed because it was missed or updated with such a comment for future clarity.

Comment by Jason Chan [ 10/Mar/20 ]

dianna.hohensee SERVER-46589 is meant to capture the FCV references that should stay in v4.5 but should be updated. I believe an example of this in the execution code would be WiredTigerFileVersion::shouldDowngrade. The intent is for Execution to identify all of these "generic" references and update the ticket description in SERVER-46589. I will then update them in the same commit as when I bump the FCV and the wire version protocol.

Comment by Dianna Hohensee (Inactive) [ 10/Mar/20 ]

jason.chan can you clarify what SERVER-46589 is for? I don't understand what bullet 3 in this ticket's description means. Is SERVER-46589 for noting any FCV code that must remain in v4.5 and therefore needs to be updated to use the v4.5 FCV versions?

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