[SERVER-76344] Support multiversion testing with the oldest binaries up through the latest binaries Created: 20/Apr/23 Updated: 26/May/23 Resolved: 26/May/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Dianna Hohensee (Inactive) | Assignee: | Dianna Hohensee (Inactive) |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Assigned Teams: |
Server Development Platform
|
||||||||||||||||
| Sprint: | Execution Team 2023-05-29 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
I would like to add a test that starts in v4.0 and upgrades through master (v7.1). This would allow testing of More generally this would allow continuing testing of server format or behavior changes throughout many version whenever it is important to ensure support. Maybe someday we could even create some sort of passthrough suite that randomly upgrades/downgrades binaries. |
| Comments |
| Comment by Dianna Hohensee (Inactive) [ 26/May/23 ] | |||||||||||||||||||||||||||||||||
|
I'm closing this ticket out as Won't Do. Supporting 4.0 binaries forever into the distant future isn't sustainable. I'm pivoting to attempting to create a unit test that inserts the old 4.0 index data format: If | |||||||||||||||||||||||||||||||||
| Comment by Dianna Hohensee (Inactive) [ 22/May/23 ] | |||||||||||||||||||||||||||||||||
|
It looks like I can run that code successfully in 7.0, however: here's the patch build – the redness in my test is from after upgrading from 4.0 to 7.0 successfully. | |||||||||||||||||||||||||||||||||
| Comment by Dianna Hohensee (Inactive) [ 22/May/23 ] | |||||||||||||||||||||||||||||||||
|
It looks like there was 6.2 work to remove support for 4.0 binaries (
| |||||||||||||||||||||||||||||||||
| Comment by Alex Neben [ 01/May/23 ] | |||||||||||||||||||||||||||||||||
|
Hey I just wanted to follow up on this. We think from our side the infra is there (or 99% there if you need to revert some stuff). However, imho we should not be testing EoL binaries since they are not going to work on modern OSes (for example openssl 3 vs 1.1). I think another option is to create the index or the data files you need and ask the build team to upload them somewhere. Then you can download them and use them in your test. Either way I think this is a test writing specific issue which should be done by individual teams. | |||||||||||||||||||||||||||||||||
| Comment by Tausif Rahman (Inactive) [ 27/Apr/23 ] | |||||||||||||||||||||||||||||||||
|
FYI, max.hirschhorn@mongodb.com pointed out that there may be some special handling needed when downloading 4.0 binaries. Check this. I don't recall exactly what that was but I think it may have to do with certain platforms in CI not having 4.0 binaries available. You may need to tweak some things for this new test to run successfully on all platforms. | |||||||||||||||||||||||||||||||||
| Comment by Tausif Rahman (Inactive) [ 27/Apr/23 ] | |||||||||||||||||||||||||||||||||
|
The multiversion suite actually runs tests that rely on older versions of binaries. Here's an example. I think you should be able to use the existing infrastructure. The setup multiversion script (which downloads older versions of mongodb for multiversion testing) only goes back to 4.4 though. If you need older versions, you can try adding 4.2/4.0, but I don't recall if those binaries are available via db-contrib-tool since those are EOL. |