[SERVER-54200] install-core should be the default build target, rather than just mongod Created: 02/Feb/21 Updated: 29/Oct/23 Resolved: 19/Feb/21 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Build |
| Affects Version/s: | None |
| Fix Version/s: | 4.9.0, 4.4.5 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Mathias Stearn | Assignee: | Ryan Egesdahl (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Backwards Compatibility: | Fully Compatible | ||||
| Backport Requested: |
v4.4
|
||||
| Sprint: | Dev Platform 2021-02-22 | ||||
| Participants: | |||||
| Description |
|
This leaves the user with a useful set of build products (mongo, mongos, mongod) rather than just mongod. And it costs less than 10% more time when building on a single machine (probably within measurement error when using icecream). At the very least we should build the mongo shell so that you can run the core tests after the default build. |
| Comments |
| Comment by Githook User [ 24/Feb/21 ] |
|
Author: {'name': 'Ryan Egesdahl', 'email': 'ryan.egesdahl@mongodb.com', 'username': 'deriamis'}Message: (cherry picked from commit 3b8e5da26577a8a943ed7ccb9727b11ee4807f91) |
| Comment by Githook User [ 19/Feb/21 ] |
|
Author: {'name': 'Ryan Egesdahl', 'email': 'ryan.egesdahl@mongodb.com', 'username': 'deriamis'}Message: |
| Comment by Andrew Morrow (Inactive) [ 03/Feb/21 ] |
|
I think for now, just go ahead and add to the default tag and let it be synonymous with core. I don't think there is much harm, and we can look into removing core at some later point via a way to officially deprecate component tags, which we currently lack. I'd be satisfied with a follow-up ticket routed to SDP to introduce a component tag deprecation mechanism and use it to deprecate and then remove core. We can't know for sure that external builders aren't using it somehow, so I don't think we should just remove it. |
| Comment by Mathias Stearn [ 03/Feb/21 ] |
|
I just started down that path, but then wondered if we still want both a "default" and a "core" if they are going to be the same? In the (somewhat unlikely) event that we want to add a new required target, we'd then need to think about whether it goes in core, default, or both, and there doesn't seem to be any good guidance on what the difference would be to help decide. It seems like we should pick one name, and make the other either alias it (for compat with existing dev practice) or print an error telling people to switch names. Or just remove it and send an email. |
| Comment by Andrew Morrow (Inactive) [ 02/Feb/21 ] |
|
redbeard0531 - I think you can just go ahead and make the change and send me the code review and I'll approve it. |
| Comment by Mathias Stearn [ 02/Feb/21 ] |
|
Sure. I filed this to request the behavior change, I don't actually have any opinion about the mechanism to achieve that. Feel free to reword the subject to make it more accurate if needed. |
| Comment by Andrew Morrow (Inactive) [ 02/Feb/21 ] |
|
I'd have no objection to the proposed behavior. The current set of default targets was modeled on that found in the pre-hygienic days so that we didn't change behavior. I think it would be fine to add mongo and mongos to the set of default targets, and potentially even backport that through to v4.4. However, the way to do this is not to make install-core the default target, but to add the default tag to AIB_COMPONENTS_EXTRA for mongo and mongos. |