[SERVER-25402] Unit tests should not depend on interpolated version info Created: 02/Aug/16  Updated: 21/Mar/17  Resolved: 15/Aug/16

Status: Closed
Project: Core Server
Component/s: Build
Affects Version/s: None
Fix Version/s: 3.3.12

Type: Improvement Priority: Major - P3
Reporter: Andrew Morrow (Inactive) Assignee: Andrew Morrow (Inactive)
Resolution: Done Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-25591 Use --cache=nolinked for cache builds Closed
Duplicate
duplicates SERVER-11290 Don't put linked products in build cache Closed
Backwards Compatibility: Fully Compatible
Sprint: Platforms 2016-08-26
Participants:

 Description   

Right now, the version information is interpolated into version.cpp, which is linked into libbase. As a result, if the version information changes (as it does on every patch build), pretty much all libraries and executables must be relinked.

However, only a few programs actually need this information - mostly the shell, the core database server, and mongos.

If we could use dependency injection to have version reporting fall back to defaulted values, we could sever that linkage from base to the interpolated data, and then dependency inject the interpolated values only from the programs that meaningfully need it.

This would speed up all re-links across a change in git-hash or version, but would also dramatically speed up --cache builds on the CI system.



 Comments   
Comment by Githook User [ 17/Aug/16 ]

Author:

{u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}

Message: SERVER-25402 Add an option to not cache linked artifacts

(cherry picked from commit bd66e1bdbc627979e7bb6824fbdfc132093a9bf9)
Branch: v3.2
https://github.com/mongodb/mongo/commit/8a077b07dbe4db92f2522857c312d61aa1db3d3f

Comment by Githook User [ 15/Aug/16 ]

Author:

{u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}

Message: SERVER-25402 Fewer binaries depend on interpolated version info
Branch: master
https://github.com/mongodb/mongo/commit/dacf1667d1e650b4854ad33738b63ff379faec92

Comment by Githook User [ 15/Aug/16 ]

Author:

{u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}

Message: SERVER-25402 Update to new VersionInfoInterface
Branch: master
https://github.com/10gen/mongo-enterprise-modules/commit/0646160a43214929c14aa88476472d5178d909a9

Comment by Githook User [ 13/Aug/16 ]

Author:

{u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}

Message: SERVER-25402 Add an option to not cache linked artifacts
Branch: master
https://github.com/mongodb/mongo/commit/bd66e1bdbc627979e7bb6824fbdfc132093a9bf9

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