[SERVER-48360] Bypass compile is broken Created: 21/May/20  Updated: 29/Oct/23  Resolved: 11/Jun/20

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

Type: Bug Priority: Major - P3
Reporter: Vlad Rachev (Inactive) Assignee: Jeffrey Zambory
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Operating System: ALL
Steps To Reproduce:

example: https://evergreen.mongodb.com/task_log_raw/mongodb_mongo_master_enterprise_windows_required_compile_patch_736bf1bca376a50dbd038098baf0a2f6ace29db7_5ec5330cd6d80a530d7d32e3_20_05_20_13_39_41/0?type=T#L190

 

Also think the task should system-fail if we fail to bypass-compile so we wouldn't hide the failure.

Sprint: DAG 2020-06-15
Participants:
Story Points: 2

 Description   

Bypass compile is a script that looks at the files changed in your patch build and determines if they could have an impact on the compile artifacts. If they shouldn't have any impact, it will download binaries from the mainline build the patch is built off instead of actually compiling. This saves a large chunk of compile time.

It looks like the problem here is that one of the compile artifacts we are attempting to download is named differently on windows than on other platforms. We store the artifacts to download in a dictionary. It seems like we need to handle the windows-case better.

As far as system-failing when bypass-compile files, when bypass compile was originally written, the decision was made to explicitly not fail on error, since then we would just do the compile as normal and the only impact would be that the compile task takes longer. That makes sense, but it means that when bypass-compile breaks, we get no notice and it likely stays broken until someone digs into the task logs. I don't think we should change that behavior in this ticket, but it is something that might be worth a discussion.



 Comments   
Comment by Githook User [ 11/Jun/20 ]

Author:

{'name': 'Jeff Zambory', 'email': 'jeff.zambory@mongodb.com'}

Message: SERVER-48360: Bypass compile is broken
Branch: master
https://github.com/mongodb/mongo/commit/484e33b32b02f77a562ea5d8231374b148fc7297

Comment by Vlad Rachev (Inactive) [ 29/May/20 ]

Thanks for the description david.bradford. I think I agree with you that we probably shouldn't fail given that bypass-compile is a supplemental feature that doesn't impact the patch itself.

Comment by Brooke Miller [ 29/May/20 ]

David B. will add in details to the description based on our conversation in Story Pointing

Comment by Vlad Rachev (Inactive) [ 21/May/20 ]

Link is pretty slow, here's the trace:

 [2020/05/20 13:46:26.724] Traceback (most recent call last):
 [2020/05/20 13:46:26.724]   File "buildscripts/bypass_compile_and_fetch_binaries.py", line 477, in <module>
 [2020/05/20 13:46:26.724]     main()  # pylint: disable=no-value-for-parameter
 [2020/05/20 13:46:26.724]   File "C:\data\mci\ee0c9ecdd6e4ec74a90a1db6f92a4bb8\venv\lib\site-packages\click\core.py", line 829, in __call__
 [2020/05/20 13:46:26.726]     return self.main(*args, **kwargs)
 [2020/05/20 13:46:26.726]   File "C:\data\mci\ee0c9ecdd6e4ec74a90a1db6f92a4bb8\venv\lib\site-packages\click\core.py", line 782, in main
 [2020/05/20 13:46:26.734]     rv = self.invoke(ctx)
 [2020/05/20 13:46:26.734]   File "C:\data\mci\ee0c9ecdd6e4ec74a90a1db6f92a4bb8\venv\lib\site-packages\click\core.py", line 1066, in invoke
 [2020/05/20 13:46:26.734]     return ctx.invoke(self.callback, **ctx.params)
 [2020/05/20 13:46:26.734]   File "C:\data\mci\ee0c9ecdd6e4ec74a90a1db6f92a4bb8\venv\lib\site-packages\click\core.py", line 610, in invoke
 [2020/05/20 13:46:26.734]     return callback(*args, **kwargs)
 [2020/05/20 13:46:26.734]   File "buildscripts/bypass_compile_and_fetch_binaries.py", line 473, in main
 [2020/05/20 13:46:26.734]     gather_artifacts_and_update_expansions(build, target, json_artifact, out_file)
 [2020/05/20 13:46:26.734]   File "buildscripts/bypass_compile_and_fetch_binaries.py", line 427, in gather_artifacts_and_update_expansions
 [2020/05/20 13:46:26.734]     expansions = generate_bypass_expansions(target, artifacts)
 [2020/05/20 13:46:26.734]   File "buildscripts/bypass_compile_and_fetch_binaries.py", line 191, in generate_bypass_expansions
 [2020/05/20 13:46:26.735]     for key, value in ARTIFACT_ENTRIES_MAP.items()
 [2020/05/20 13:46:26.735]   File "buildscripts/bypass_compile_and_fetch_binaries.py", line 191, in <dictcomp>
 [2020/05/20 13:46:26.735]     for key, value in ARTIFACT_ENTRIES_MAP.items()
 [2020/05/20 13:46:26.772] KeyError: 'mongo-debugsymbols.tgz'

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