[SERVER-49271] Convert more non-shipping non-windows builders to --link-model=dynamic Created: 01/Jul/20  Updated: 29/Oct/23  Resolved: 08/Apr/22

Status: Closed
Project: Core Server
Component/s: Build, Testing Infrastructure
Affects Version/s: None
Fix Version/s: 6.0.0-rc0

Type: Task Priority: Major - P3
Reporter: Andrew Morrow (Inactive) Assignee: Richard Samuels (Inactive)
Resolution: Fixed Votes: 0
Labels: tig-evgconfig, tig-qwin-eligible
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-45837 Modify an existing dynamic builder to... Closed
Duplicate
is duplicated by SERVER-45837 Modify an existing dynamic builder to... Closed
Problem/Incident
Related
related to SERVER-66035 Convert everything possible to use --... Closed
related to SERVER-66014 switch testing build targets to dynam... Closed
Backwards Compatibility: Fully Compatible
Sprint: Dev Platform 2022-04-04, Dev Platform 2022-04-18
Participants:
Linked BF Score: 67

 Description   

In SERVER-46296 we made the non-windows non-shipping ! and * builders (with the exception of the AUBSAN builder which is proceeding under SERVER-48892 and currently blocked on at least SERVER-48736).

However, there are many other builders in the waterfall that meet the non-shipping non-windows criteria. We should consider moving many or all of those builders over to -link-model=dynamic as well. The following builders appear to be candidates:

  • Enterprise RHEL 6.2 (Benchmarks) (need to think about performance effects)
  • Enterprise RHEL 6.2 (Single Task Baseline)
  • Enterprise RHEL 6.2 (flow control off)
  • Enterprise RHEL 6.2 (implicit multiversion)
  • Enterprise RHEL 6.2 (inMemory)
  • Enterprise RHEL 6.2 (large transactions format)
  • Enterprise RHEL 6.2 (majority read concern off)
  • Enterprise RHEL 6.2 (resumable index builds)
  • Enterprise RHEL 7.1 PPC64LE (inMemory) DEBUG
  • Enterprise RHEL 7.2 s390x (inMemory) DEBUG
  • Linux (No Journal)
  • Linux (ephemeralForTest)
  • RHEL 6.2 (Biggie)
  • RHEL 7.0/7.6 Cross-ABI (maybe, I'm not 100% on this)
  • hot_backups RHEL 7.0
  • {A,UB}SAN Enterprise Ubuntu 18.04 FUZZER (probably needs also to wait on SERVER-48892)
  • ~ ASAN Enterprise Ubuntu 18.04 DEBUG
  • ~ ASAN Ubuntu 18.04
  • ~ Enterprise RHEL 6.2 DEBUG Code Coverage
  • ~ Enterprise RHEL 7.0 (Dagger)
  • ~ Enterprise RHEL 7.0 (no-libunwind)
  • ~ Enterprise Ubuntu 16.04 (with ScanningReplicaSetMonitor)
  • ~ Enterprise Ubuntu 16.04 (with SdamReplicaSetMonitor)
  • ~ Enterprise Ubuntu 16.04 (with {taskExecutorPoolSize: 4})
  • ~ Enterprise Ubuntu 16.04 (without Diagnostic Latches)
  • ~ Enterprise Ubuntu 18.04 DEBUG (Unoptimized)
  • ~ Linux DEBUG WiredTiger develop
  • ~ Linux Repeated Execution (maybe, not sure?)
  • ~ Selected Tests
  • ~ TSAN Enterprise Ubuntu 20.04 DEBUG (Biggie)
  • ~ UBSAN Enterprise Ubuntu 18.04 DEBUG (probably also needs to wait on SERVER-48892).


 Comments   
Comment by Githook User [ 13/Apr/22 ]

Author:

{'name': 'Richard Samuels', 'email': 'richard.l.samuels@gmail.com', 'username': 'richardsamuels'}

Message: SERVER-49271 Don't run unittests and dbtests on enterprise-rhel-80-64-bit-multiversion-all-feature-flags
Branch: master
https://github.com/mongodb/mongo/commit/e80b351a8b543f93fb2b35f3b546953e9c421d43

Comment by Githook User [ 08/Apr/22 ]

Author:

{'name': 'Richard Samuels', 'email': 'richard.l.samuels@gmail.com', 'username': 'richardsamuels'}

Message: SERVER-49271 Convert more non-shipping non-windows builders to --link-model=dynamic
Branch: master
https://github.com/mongodb/mongo/commit/8c491374ed6a52de14ad52db4bb64091d119c0a0

Comment by Andrew Morrow (Inactive) [ 09/Jul/20 ]

robert.guo - I think only the UBSAN variants are affected by SERVER-48892. For the most part I don't expect any other platform issues, but of course there are always surprises. Barring those, this work is mostly mechanical: find the builder, add --link-model=dynamic to the compile_flags, and add scons_cache_mode: all and num_scons_link_jobs_available: 0.99 to the expansions: section. Patch queue it and off you go.

Alternatively, if we wanted to do a better job, we could try to add a new dynamic: true expansion, and then interpret that in the scons compile task to add the necessary adjustments. That might be a nicer way to go about it, but would be slightly more work.

Comment by Robert Guo (Inactive) [ 09/Jul/20 ]

Hey acm, what type of work do you anticipate for this ticket? In particular, do you expect there to be platform-specific issues after SERVER-48892?

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