[CDRIVER-3343] Race condition in "fetch source" function in Evergreen build Created: 27/Aug/19  Updated: 09/Feb/23

Status: Backlog
Project: C Driver
Component/s: Build
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Roberto Sanchez Assignee: Roberto Sanchez
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Link: CDRIVER-2733

 Description   

The fetch source function in the C driver's Evergreen configuration retrieves the archive file uploaded by the upload build function. However, in the case of a commit-triggered build, fetch source retrieves an archive file identified by the version latest instead of an actual version (as is the case for patch builds). As a result, if a commit-triggered build is in process and another commit is pushed (thereby triggering the start of a new build), the upload build function of the new commit's build will upload a new archive that becomes latest. Any tasks from previous builds still in progress that call fetch source after the subsequent build uploads its archive will retrieve a source tarball that corresponds to a commit other than the commit for which that task is running.

To guard against this sort of race condition, the fetch source function should always retrieve the source file based on the commit being built.


Generated at Wed Feb 07 21:17:45 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.