<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>204007</bug_id>
          
          <creation_ts>2019-11-08 09:49:21 -0800</creation_ts>
          <short_desc>[ews] Prioritize builders over testers when a bot is shared over multiple queues</short_desc>
          <delta_ts>2019-11-08 10:54:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Aakash Jain">aakash_jain</reporter>
          <assigned_to name="Aakash Jain">aakash_jain</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>jbedard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1588684</commentid>
    <comment_count>0</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-11-08 09:49:21 -0800</bug_when>
    <thetext>In our EWS configuration, we share bots over multiple queues to improve the efficiency. Sometimes a bot might be connected over builder and tester queues. If there is pending build-requests over both the queues, we want to prioritize builder queue over tester.

&quot;By default, buildbot will attempt to start builds on builders in order, beginning with the builder with the oldest pending request.&quot;
https://docs.buildbot.net/current/manual/configuration/global.html#prioritizing-builders


For e.g.: &apos;macOS-High-Sierra-Debug-Build-EWS&apos; and &apos;macOS-High-Sierra-Debug-WK1-Tests-EWS&apos; share bots ews113 - ews117. Quite often it happens that there are pending build-requests on both the queues (especially when there are test failures on trunk and tester queue is backlogged). By default Buildbot prioritize the queue having older build-request. Because of that, most of the bots keep processing tester queue, and builder queue takes low priority.

However we want builder queues to be prioritized over tester queues. This will also enable to us to do more bot sharing between builder and tester queues, and have higher utilization of our bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588686</commentid>
    <comment_count>1</comment_count>
      <attachid>383135</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-11-08 09:51:42 -0800</bug_when>
    <thetext>Created attachment 383135
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588689</commentid>
    <comment_count>2</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-11-08 09:52:45 -0800</bug_when>
    <thetext>Reference: https://docs.buildbot.net/current/manual/customization.html#builder-priority-functions

Tested on UAT instance using webkit-misc bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588710</commentid>
    <comment_count>3</comment_count>
      <attachid>383135</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-11-08 10:23:28 -0800</bug_when>
    <thetext>Comment on attachment 383135
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=383135&amp;action=review

&gt; Tools/BuildSlaveSupport/ews-build/loadConfig.py:80
&gt; +    c[&apos;prioritizeBuilders&apos;] = prioritizeBuilders

Won&apos;t this mean that any build request will pre-empt a test request? Is that actually what we want?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588716</commentid>
    <comment_count>4</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-11-08 10:38:25 -0800</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #3)
&gt; Won&apos;t this mean that any build request will pre-empt a test request?
Yes, but only for bots which are shared on multiple queues. Currently each queue has several dedicated bots. Some of the bots are shared between builder and tester queue.

Currently reverse is happening with the shared bots, especially on &apos;macOS-High-Sierra-Debug-WK1-Tests-EWS&apos; which shares a lot of bots with &apos;macOS-High-Sierra-Debug-Build-EWS&apos;.

&gt; Is that actually what we want?
Yes, I believe that is desirable. Also note that builders are usually much faster than testers, since builders do incremental builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588717</commentid>
    <comment_count>5</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-11-08 10:49:06 -0800</bug_when>
    <thetext>(In reply to Aakash Jain from comment #4)
&gt; (In reply to Jonathan Bedard from comment #3)
&gt; &gt; Won&apos;t this mean that any build request will pre-empt a test request?
&gt; Yes, but only for bots which are shared on multiple queues. Currently each
&gt; queue has several dedicated bots. Some of the bots are shared between
&gt; builder and tester queue.
&gt; 
&gt; Currently reverse is happening with the shared bots, especially on
&gt; &apos;macOS-High-Sierra-Debug-WK1-Tests-EWS&apos; which shares a lot of bots with
&gt; &apos;macOS-High-Sierra-Debug-Build-EWS&apos;.
&gt; 
&gt; &gt; Is that actually what we want?
&gt; Yes, I believe that is desirable. Also note that builders are usually much
&gt; faster than testers, since builders do incremental builds.

Seems reasonable, but we should keep an eye on this, it seems like a potential source of issues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588718</commentid>
    <comment_count>6</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-11-08 10:53:51 -0800</bug_when>
    <thetext>Committed r252244: &lt;https://trac.webkit.org/changeset/252244&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588721</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-08 10:54:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/57027388&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383135</attachid>
            <date>2019-11-08 09:51:42 -0800</date>
            <delta_ts>2019-11-08 10:48:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204007-20191108125141.patch</filename>
            <type>text/plain</type>
            <size>1682</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1MjIzOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDE5LTExLTA4ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBbZXdzXSBQcmlvcml0aXplIGJ1aWxkZXJzIG92ZXIgdGVzdGVycyB3aGVu
IGEgYm90IGlzIHNoYXJlZCBvdmVyIG11bHRpcGxlIHF1ZXVlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0MDA3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVp
bGQvbG9hZENvbmZpZy5weToKKyAgICAgICAgKGxvYWRCdWlsZGVyQ29uZmlnKToKKyAgICAgICAg
KHByaW9yaXRpemVCdWlsZGVycyk6IE1ldGhvZCB0byBwcmlvcml0aXplIGJ1aWxkZXIgcXVldWVz
IG92ZXIgdGVzdGVyIHF1ZXVlcy4KKwogMjAxOS0xMS0wOCAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEJ1aWxkIGZpeCBmb3IgcGxhdGZvcm1z
IHdpdGhvdXQgV2ViUlRDJ3MgU1NMIGFmdGVyIHIyNTIxODUKSW5kZXg6IFRvb2xzL0J1aWxkU2xh
dmVTdXBwb3J0L2V3cy1idWlsZC9sb2FkQ29uZmlnLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9sb2FkQ29uZmlnLnB5CShyZXZpc2lvbiAyNTIyMzkp
CisrKyBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvbG9hZENvbmZpZy5weQkod29y
a2luZyBjb3B5KQpAQCAtNzcsNiArNzcsNyBAQCBkZWYgbG9hZEJ1aWxkZXJDb25maWcoYywgaXNf
dGVzdF9tb2RlX2VuCiAKICAgICAgICAgY1snYnVpbGRlcnMnXS5hcHBlbmQoYnVpbGRlcikKIAor
ICAgIGNbJ3ByaW9yaXRpemVCdWlsZGVycyddID0gcHJpb3JpdGl6ZUJ1aWxkZXJzCiAgICAgY1sn
c2NoZWR1bGVycyddID0gW10KICAgICBmb3Igc2NoZWR1bGVyIGluIGNvbmZpZ1snc2NoZWR1bGVy
cyddOgogICAgICAgICBzY2hlZHVsZXJDbGFzc05hbWUgPSBzY2hlZHVsZXIucG9wKCd0eXBlJykK
QEAgLTkxLDYgKzkyLDEyIEBAIGRlZiBsb2FkQnVpbGRlckNvbmZpZyhjLCBpc190ZXN0X21vZGVf
ZW4KICAgICAgICAgY1snc2NoZWR1bGVycyddLmFwcGVuZChzY2hlZHVsZXJDbGFzcygqKnNjaGVk
dWxlcikpCiAKIAorZGVmIHByaW9yaXRpemVCdWlsZGVycyhidWlsZG1hc3RlciwgYnVpbGRlcnMp
OgorICAgICMgUHJpb3JpdGl6ZSBidWlsZGVyIHF1ZXVlcyBvdmVyIHRlc3RlciBxdWV1ZXMKKyAg
ICBidWlsZGVycy5zb3J0KGtleT1sYW1iZGEgYjogJ2J1aWxkJyBpbiBiLm5hbWUubG93ZXIoKSwg
cmV2ZXJzZT1UcnVlKQorICAgIHJldHVybiBidWlsZGVycworCisKIGRlZiBjaGVja1ZhbGlkV29y
a2VyKHdvcmtlcik6CiAgICAgaWYgbm90IHdvcmtlcjoKICAgICAgICAgcmFpc2UgRXhjZXB0aW9u
KCdXb3JrZXIgaXMgTm9uZSBvciBFbXB0eS4nKQo=
</data>
<flag name="review"
          id="398891"
          type_id="1"
          status="+"
          setter="jbedard"
    />
          </attachment>
      

    </bug>

</bugzilla>