[SERVER-57852] Create separate variant for commit queue Created: 18/Jun/21  Updated: 29/Oct/23  Resolved: 02/Aug/21

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 5.1.0-rc0

Type: Task Priority: Major - P3
Reporter: PM Bot Assignee: Robert Guo (Inactive)
Resolution: Fixed Votes: 0
Labels: autogen-todo
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by SERVER-58052 Create separate variant for commit queue Closed
Related
is related to SERVER-56382 Add patch history fetcher to the STM ... Closed
Backwards Compatibility: Fully Compatible
Sprint: STM 2021-06-28, STM 2021-07-12, STM 2021-07-26, STM 2021-08-09
Participants:
Story Points: 1

 Description   

There is a TODO in the codebase referencing a resolved ticket which is assigned to you.

Please follow this link to see the lines of code referencing this resolved ticket:
https://github.com/mongodb/mongo/search?q=SERVER-56382&type=Code

The next steps for this ticket are to either remove the outdated TODO or follow the steps in the TODO if it is correct. If the latter, please update the summary and description of this ticket to represent the work you're actually doing.

Create a separate variant for CQ so we can leverage a separate pool of hosts to improve CQ's SLA.

The code is the following; as well ass adding the "lint" tag to all the relevant lint functions

diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index c5dd5283bb..9702df4ad7 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -9139,6 +9139,25 @@ buildvariants:
     distros:
       - rhel80-xlarge+- <<: *enterprise-rhel-80-64-bit-dynamic-required-template
+  name: enterprise-rhel-80-64-bit-dynamic-required-commit-queue
+  display_name: "~ Shared Library Enterprise RHEL 8.0 Commit Queue"
+  batchtime: 999999999
+  run_on:
+    - rhel80-other-pool
+  tasks:
+    - name: compile_test_and_package_parallel_core_stream_TG
+    - name: compile_test_and_package_parallel_unittest_stream_with_recording_TG
+    - name: compile_test_and_package_parallel_unittest_stream_TG
+    - name: compile_test_and_package_parallel_dbtest_stream_TG
+    - name: jsCore
+    - name: .lint
+      distros:
+        - rhel80-small
+    - name: test_api_version_compatibility
+      distros:
+        - rhel80-small
+
 - &enterprise-rhel-80-64-bit-dynamic-all-feature-flags-required-template
   name: enterprise-rhel-80-64-bit-dynamic-all-feature-flags-required
   display_name: "! Shared Library Enterprise RHEL 8.0 (all feature flags)"

Also create a similar variant for all Query patch builds since the new Query variants aren't running non-JS tasks.
 



 Comments   
Comment by Robert Guo (Inactive) [ 18/Jan/22 ]

SG acm, thanks for the suggestion. I've added a request for Evergreen in the DP spreadsheet for them to consider the use case.

Comment by Vivian Ge (Inactive) [ 06/Oct/21 ]

Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you!

Comment by Githook User [ 02/Aug/21 ]

Author:

{'name': 'Robert Guo', 'email': 'robert.guo@mongodb.com'}

Message: SERVER-57852 Create separate variant for commit queue tasks
Branch: master
https://github.com/mongodb/mongo/commit/f0c88f12d3ce0331010251cc7b0f55cbc3a97e1d

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

Merging with SERVER-58082. Going to use this ticket since it's easier to manage the TODO Jira process.

Copying Drew's comment below from SERVER-58082:

Brian McCarthy - That's good news, but I still have some reservations about this. We used to have a dedicated builder for the commit queue, and we then put a good amount of effort into making it just reuse tasks out of the existing required RHEL 8 dynamic builder. There were a few good reasons to do so:

  • Adding and removing tasks from the commit queue did not require a commit to the repo, since those tasks were always available from the basic RHEL 8 builder. Now, adding a task to the commit queue will first require adding the task to the new builder. We could somewhat mitigate this by importing the whole list of tasks from the other builder, but we may not be able to do that because of task specific variant assignments.
  • The buildvariant on which patch builds were run became the same as the buildvariant where the commit queue runs. If we make this change, that will no longer be true. Will we require people to also patch build on the new builder? If so, that would undermine your prioritization goals. If not, then a pass in your patch build doesn't quite convey the same assurances that it will pass in the commit queue.

I really think it is worth spending a little more time thinking about this before moving forward with the approach of adding a new buildvariant. I think having the commit queue tasks be a strict subset of a standard required builder is important. Could we just give commit queue tasks a priority bump? Could we introduce the idea of named/reserved pools within a variant?

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