<?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>33395</bug_id>
          
          <creation_ts>2010-01-08 12:06:23 -0800</creation_ts>
          <short_desc>Commit bot should land patches in order of last modification date</short_desc>
          <delta_ts>2010-05-21 17:11:21 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>39519</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Steve Block">steveblock</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>178739</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-01-08 12:06:23 -0800</bug_when>
    <thetext>Commit bot should land patches in order of the corresponding bug&apos;s last modification date.

This prevents the case where a bug is repeatedly pushed back down the commit queue by other more recently modified bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179326</commentid>
    <comment_count>1</comment_count>
      <attachid>46268</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-01-11 04:09:59 -0800</bug_when>
    <thetext>Created attachment 46268
Patch 1 for Bug 33395</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180905</commentid>
    <comment_count>2</comment_count>
      <attachid>46268</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-14 13:56:13 -0800</bug_when>
    <thetext>Comment on attachment 46268
Patch 1 for Bug 33395

I think this is a fantastic idea.  However, this will land them in bug modification order, not patch modification order.  It that what you really intended?  I think  the proper fix involves parsing the flag set date out of the attachment and then sorting by that in CommitQueue.next_work_item

I&apos;m about to land a patch which moves CommitQueue.next_work_item away from using fetch_patches_in_commit_queue because of bug 33638.  But we can still easily sort the patches after that change.

r- because this patch doesn&apos;t actually do what it claims to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180906</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-14 13:57:32 -0800</bug_when>
    <thetext>I had figured you were trying to make it possible for users to commit-queue bugs in a certain order, but now I see you&apos;re attempting this as a performance optimization for the queue?  The queue lag times will go down signifigantly as we make the tree more consistently red.  The commit-queue delays are almost entirely due to flakey tests causing the tree to turn red.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180909</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-14 14:02:49 -0800</bug_when>
    <thetext>When I said &quot;consistently red&quot; above, of course I meant &quot;consistently green&quot;.  The tree is already pretty consistently red which is the problem! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181167</commentid>
    <comment_count>5</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-01-15 02:29:55 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 46268 [details])
&gt; I think this is a fantastic idea.  However, this will land them in bug
&gt; modification order, not patch modification order.  It that what you really
&gt; intended? I think  the proper fix involves parsing the flag set date out of
&gt; the attachment and then sorting by that in CommitQueue.next_work_item
Yes, I think that ideally, we&apos;d land patches in the order in which cq+ was set on the patch. However, wasn&apos;t aware that this can be extracted from the bug. Sorting by bug last modification date seemed like a good approximation to this, as most bugs use only a single patch and the setting of the cq+ flag is usually the most recent action. So the patch does what I intended, but I agree this is not the optimal solution.

&gt; I&apos;m about to land a patch which moves CommitQueue.next_work_item away from
&gt; using fetch_patches_in_commit_queue because of bug 33638.  But we can still
&gt; easily sort the patches after that change.
OK, I&apos;ll look into extracting the cq+ set date.

&gt; I had figured you were trying to make it possible for users to commit-queue
&gt; bugs in a certain order, but now I see you&apos;re attempting this as a performance
&gt; optimization for the queue?
No, this wasn&apos;t intended as a performance improvement. Just to make sure that once a bug has been added to the commit queue, it doesn&apos;t get pushed down the queue by bugs added later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181263</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-15 10:06:51 -0800</bug_when>
    <thetext>Interesting the bug page with &amp;ctype=xml does not seem to expose the date/time that the flag setter set the flag.  We could parse that from https://bugs.webkit.org/show_activity.cgi?id=33395, but your initial approximation of bug-last-modify is probably close enough.  It would be better to make the sort behavior explicit, but your initial change is probably sufficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182019</commentid>
    <comment_count>7</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-01-18 15:35:56 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Interesting the bug page with &amp;ctype=xml does not seem to expose the date/time
&gt; that the flag setter set the flag.  We could parse that from
&gt; https://bugs.webkit.org/show_activity.cgi?id=33395, but your initial
&gt; approximation of bug-last-modify is probably close enough.  It would be better
&gt; to make the sort behavior explicit, but your initial change is probably
&gt; sufficient.
OK, I&apos;ll look into extracting the cq+ date from the page. Are there any other examples of parsing the buganizer page I could take a look at?

In the mean time, can you r+ my original patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182028</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-01-18 16:09:50 -0800</bug_when>
    <thetext>&gt; OK, I&apos;ll look into extracting the cq+ date from the page. Are there any other
&gt; examples of parsing the buganizer page I could take a look at?

There are a bunch of unit tests that call the parsing routines.  You can see how they work by starting in bugzilla_unittest.py</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182029</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-01-18 16:10:36 -0800</bug_when>
    <thetext>Btw, apologies for the state of bugzilla.py.  It was one of our first classes and it&apos;s in the middle of slowly being refactored.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182724</commentid>
    <comment_count>10</comment_count>
      <attachid>46268</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-20 03:45:35 -0800</bug_when>
    <thetext>Comment on attachment 46268
Patch 1 for Bug 33395

This is better than what we do now, yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182732</commentid>
    <comment_count>11</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-01-20 03:59:17 -0800</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/53542
This sorts the commit queue in order of bug last modification date

Leaving bug open as this fix is only an approximation to the desired behavior, as discussed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187155</commentid>
    <comment_count>12</comment_count>
      <attachid>46268</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-02 14:31:06 -0800</bug_when>
    <thetext>Comment on attachment 46268
Patch 1 for Bug 33395

Obsoleting patch since this was landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229183</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-21 17:11:21 -0700</bug_when>
    <thetext>Fixed as part of bug 39519.

*** This bug has been marked as a duplicate of bug 39519 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46268</attachid>
            <date>2010-01-11 04:09:59 -0800</date>
            <delta_ts>2010-02-02 14:31:06 -0800</delta_ts>
            <desc>Patch 1 for Bug 33395</desc>
            <filename>commitBotOrder.txt</filename>
            <type>text/plain</type>
            <size>2066</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDUzMDY5KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTAtMDEtMTEgIFN0ZXZlIEJsb2NrICA8c3Rl
dmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEZpeCBjb21taXQgYm90IHRvIGxhbmQgcGF0Y2hlcyBpbiBvcmRlciBvZiBs
YXN0IG1vZGlmaWNhdGlvbiBkYXRlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzMzOTUKKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYnVnemls
bGEucHk6IE1vZGlmaWVkLiBBZGRlZCAnb3JkZXI9TGFzdCtDaGFuZ2VkJyB0byBidWd6aWxsYSBj
b21taXQgcXVldWUgVVJMLgorCiAyMDEwLTAxLTEwICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUnViYmVyIHN0YW1wZWQgYnkgRGF2aWQgS2lsemVyLgpJbmRleDog
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9idWd6aWxsYS5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2J1Z3ppbGxhLnB5CShyZXZpc2lvbiA1Mjk4NykK
KysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvYnVnemlsbGEucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTgxLDcgKzgxLDcgQEAgY2xhc3MgQnVnKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBb
cGF0Y2ggZm9yIHBhdGNoIGluIHNlbGYucGF0Y2hlcygpIGlmIHBhdGNoLmdldCgicmV2aWV3Iikg
PT0gIj8iXQogCiAKLSMgQSBjb250YWluZXIgZm9yIGFsbCBvZiB0aGUgbG9naWMgZm9yIG1ha2lu
ZyBhIHBhcnNpbmcgYnV6aWxsYSBxdWVyaWVzLgorIyBBIGNvbnRhaW5lciBmb3IgYWxsIG9mIHRo
ZSBsb2dpYyBmb3IgbWFraW5nIGFuZCBwYXJzaW5nIGJ1emlsbGEgcXVlcmllcy4KIGNsYXNzIEJ1
Z3ppbGxhUXVlcmllcyhvYmplY3QpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBidWd6aWxsYSk6
CiAgICAgICAgIHNlbGYuYnVnemlsbGEgPSBidWd6aWxsYQpAQCAtMTE0LDcgKzExNCw3IEBAIGNs
YXNzIEJ1Z3ppbGxhUXVlcmllcyhvYmplY3QpOgogICAgICAgICByZXR1cm4gc3VtKFtzZWxmLmJ1
Z3ppbGxhLmZldGNoX3Jldmlld2VkX3BhdGNoZXNfZnJvbV9idWcoYnVnX2lkKSBmb3IgYnVnX2lk
IGluIHNlbGYuZmV0Y2hfYnVnX2lkc19mcm9tX3BlbmRpbmdfY29tbWl0X2xpc3QoKV0sIFtdKQog
CiAgICAgZGVmIGZldGNoX2J1Z19pZHNfZnJvbV9jb21taXRfcXVldWUoc2VsZik6Ci0gICAgICAg
IGNvbW1pdF9xdWV1ZV91cmwgPSAiYnVnbGlzdC5jZ2k/cXVlcnlfZm9ybWF0PWFkdmFuY2VkJmJ1
Z19zdGF0dXM9VU5DT05GSVJNRUQmYnVnX3N0YXR1cz1ORVcmYnVnX3N0YXR1cz1BU1NJR05FRCZi
dWdfc3RhdHVzPVJFT1BFTkVEJmZpZWxkMC0wLTA9ZmxhZ3R5cGVzLm5hbWUmdHlwZTAtMC0wPWVx
dWFscyZ2YWx1ZTAtMC0wPWNvbW1pdC1xdWV1ZSUyQiIKKyAgICAgICAgY29tbWl0X3F1ZXVlX3Vy
bCA9ICJidWdsaXN0LmNnaT9xdWVyeV9mb3JtYXQ9YWR2YW5jZWQmYnVnX3N0YXR1cz1VTkNPTkZJ
Uk1FRCZidWdfc3RhdHVzPU5FVyZidWdfc3RhdHVzPUFTU0lHTkVEJmJ1Z19zdGF0dXM9UkVPUEVO
RUQmZmllbGQwLTAtMD1mbGFndHlwZXMubmFtZSZ0eXBlMC0wLTA9ZXF1YWxzJnZhbHVlMC0wLTA9
Y29tbWl0LXF1ZXVlJTJCJm9yZGVyPUxhc3QrQ2hhbmdlZCIKICAgICAgICAgcmV0dXJuIHNlbGYu
X2ZldGNoX2J1Z19pZHNfYWR2YW5jZWRfcXVlcnkoY29tbWl0X3F1ZXVlX3VybCkKIAogICAgIGRl
ZiBmZXRjaF9wYXRjaGVzX2Zyb21fY29tbWl0X3F1ZXVlKHNlbGYsIHJlamVjdF9pbnZhbGlkX3Bh
dGNoZXM9RmFsc2UpOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>