<?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>201924</bug_id>
          
          <creation_ts>2019-09-18 11:32:20 -0700</creation_ts>
          <short_desc>EWS should terminate an ongoing job as soon as a patch/hash becomes obsolete</short_desc>
          <delta_ts>2024-06-07 15:15:46 -0700</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>ASSIGNED</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=203756</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=160739</see_also>
          <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="Brianna Fan">bfan2</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>bfan2</cc>
    
    <cc>csaavedra</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1571967</commentid>
    <comment_count>0</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-09-18 11:32:20 -0700</bug_when>
    <thetext>Most of the time, it&apos;s wasteful for EWS bots to keep building or testing once a patch has been obsoleted.

It would be much better to drop obsoleted patches quickly, and to move to ones that people are actually waiting for. One exception is landed patches, where it&apos;s nice to know what EWS was going to come up with.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571968</commentid>
    <comment_count>1</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-09-18 11:32:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/27768813&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571969</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-18 11:32:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/55486159&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699797</commentid>
    <comment_count>3</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-10-20 10:01:24 -0700</bug_when>
    <thetext>*** Bug 217964 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2020521</commentid>
    <comment_count>4</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2024-03-12 11:55:27 -0700</bug_when>
    <thetext>Note that we added more checks for change being still active in https://bugs.webkit.org/show_bug.cgi?id=160739 and https://bugs.webkit.org/show_bug.cgi?id=203756

However, this bug is about proactively cancelling the ongoing builds. On a PR when a new hash is uploaded, actively go and check for previous hashes on that PR, check for the ongoing builds for those hashes and cancel them (using buildbot API).

There might be multiple ways to implement the same. One approach can be to implement it in ews-app (since it already has information of all the hashes for a PR, and all the ongoing builds). In this approach, one of the main task would be to perform authentication to buildbot while calling the api.

Another approach can be to implement this in buildbot configuration itself (inside events.py), whenever a new hash information comes, maybe ask ews-app for previous hashes on that PR, and ongoing builds for those PRs and then cancel them.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>