Closed Bug 1096650 Opened 11 years ago Closed 9 years ago

fig pushlogs queries are out of control

Categories

(Release Engineering :: General, defect, P1)

defect

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: gps, Unassigned)

References

Details

When you break down HTTP bytes served by hg.mozilla.org, fig's pushlog is the #3 URL in terms of bytes served! Looking at the logs, we see a number of queries like: Nov 10 22:57:04 hgweb2.dmz.scl3.mozilla.com hgweb: e3c6f534-692c-11e4-b729-e4115bd10cb8 BEGIN_REQUEST fig 63.245.214.162 /projects/fig/json-pushes/?full=1 Nov 10 22:58:46 hgweb2.dmz.scl3.mozilla.com hgweb: 2083eb08-692d-11e4-ac6c-e4115bd10cb8 BEGIN_REQUEST fig 63.245.214.82 /projects/fig/json-pushes?full=1 Nov 10 22:59:15 hgweb2.dmz.scl3.mozilla.com hgweb: 31d6d8f2-692d-11e4-b9fc-e4115bd10cb8 BEGIN_REQUEST fig 63.245.214.162 /projects/fig/json-pushes/?full=1 Nov 10 23:01:02 hgweb2.dmz.scl3.mozilla.com hgweb: 7131e898-692d-11e4-8f5f-e4115bd10cb8 BEGIN_REQUEST fig 54.193.27.166 /projects/fig/json-pushes/?full=1 Nov 10 23:03:14 hgweb2.dmz.scl3.mozilla.com hgweb: c060c1c8-692d-11e4-aa37-e4115bd10cb8 BEGIN_REQUEST fig 63.245.214.162 /projects/fig/json-pushes/?full=1 Nov 10 23:05:02 hgweb2.dmz.scl3.mozilla.com hgweb: 002ea4be-692e-11e4-ae25-e4115bd10cb8 BEGIN_REQUEST fig 54.215.178.40 /projects/fig/json-pushes/?full=1 Nov 10 23:05:46 hgweb2.dmz.scl3.mozilla.com hgweb: 1aab7d6c-692e-11e4-b304-e4115bd10cb8 BEGIN_REQUEST fig 63.245.214.82 /projects/fig/json-pushes?full=1 Nov 10 23:06:46 hgweb2.dmz.scl3.mozilla.com hgweb: 3e8e0b64-692e-11e4-868a-e4115bd10cb8 BEGIN_REQUEST fig 63.245.214.82 /projects/fig/json-pushes?full=1 Nov 10 23:10:02 hgweb2.dmz.scl3.mozilla.com hgweb: b365316a-692e-11e4-8077-e4115bd10cb8 BEGIN_REQUEST fig 54.215.178.40 /projects/fig/json-pushes/?full=1 Nov 10 23:11:46 hgweb2.dmz.scl3.mozilla.com hgweb: f16e0e0a-692e-11e4-bdb0-e4115bd10cb8 BEGIN_REQUEST fig 63.245.214.82 /projects/fig/json-pushes?full=1 Nov 10 23:13:03 hgweb2.dmz.scl3.mozilla.com hgweb: 1ee26138-692f-11e4-8702-e4115bd10cb8 BEGIN_REQUEST fig 63.245.214.82 /projects/fig/json-pushes?full=1&fromchange=5b036d9629b908b159716709ca2856b418ed42c6 Nov 10 23:13:46 hgweb2.dmz.scl3.mozilla.com hgweb: 38fc79b4-692f-11e4-b561-e4115bd10cb8 BEGIN_REQUEST fig 63.245.214.82 /projects/fig/json-pushes?full=1 Nov 10 23:14:02 hgweb2.dmz.scl3.mozilla.com hgweb: 42534a06-692f-11e4-b793-e4115bd10cb8 BEGIN_REQUEST fig 54.215.178.40 /projects/fig/json-pushes/?full=1 Nov 10 23:17:40 hgweb2.dmz.scl3.mozilla.com hgweb: c461fc90-692f-11e4-b8c4-e4115bd10cb8 BEGIN_REQUEST fig 63.245.214.162 /projects/fig/json-pushes/?full=1 Nov 10 23:18:02 hgweb2.dmz.scl3.mozilla.com hgweb: d183a41e-692f-11e4-ad44-e4115bd10cb8 BEGIN_REQUEST fig 54.193.27.166 /projects/fig/json-pushes/?full=1 Nov 10 23:18:04 hgweb2.dmz.scl3.mozilla.com hgweb: d2933a22-692f-11e4-9f55-e4115bd10cb8 BEGIN_REQUEST fig 54.215.178.40 /projects/fig/json-pushes/?full=1 Nov 10 23:19:46 hgweb2.dmz.scl3.mozilla.com hgweb: 0f3e7f5e-6930-11e4-9964-e4115bd10cb8 BEGIN_REQUEST fig 63.245.214.82 /projects/fig/json-pushes?full=1 Nov 10 23:20:02 hgweb2.dmz.scl3.mozilla.com hgweb: 192d8528-6930-11e4-b392-e4115bd10cb8 BEGIN_REQUEST fig 54.193.27.166 /projects/fig/json-pushes/?full=1 Nov 10 23:29:03 hgweb2.dmz.scl3.mozilla.com hgweb: 5b4314e0-6931-11e4-8bcd-e4115bd10cb8 BEGIN_REQUEST fig 54.215.178.40 /projects/fig/json-pushes/?full=1 Nov 10 23:31:04 hgweb2.dmz.scl3.mozilla.com hgweb: a39013f6-6931-11e4-8972-e4115bd10cb8 BEGIN_REQUEST fig 63.245.214.162 /projects/fig/json-pushes/?full=1 Nov 10 23:33:46 hgweb2.dmz.scl3.mozilla.com hgweb: 040cd37c-6932-11e4-b8ed-e4115bd10cb8 BEGIN_REQUEST fig 63.245.214.82 /projects/fig/json-pushes?full=1 Nov 10 23:35:02 hgweb2.dmz.scl3.mozilla.com hgweb: 31872b72-6932-11e4-95c8-e4115bd10cb8 BEGIN_REQUEST fig 54.193.27.166 /projects/fig/json-pushes/?full=1 Nov 10 23:36:02 hgweb2.dmz.scl3.mozilla.com hgweb: 555ccee4-6932-11e4-a5ec-e4115bd10cb8 BEGIN_REQUEST fig 63.245.214.82 /projects/fig/json-pushes?full=1&fromchange=5b036d9629b908b159716709ca2856b418ed42c6 Nov 10 23:36:46 hgweb2.dmz.scl3.mozilla.com hgweb: 6f44f02a-6932-11e4-b595-e4115bd10cb8 BEGIN_REQUEST fig 63.245.214.82 /projects/fig/json-pushes?full=1 Nov 10 23:38:03 hgweb2.dmz.scl3.mozilla.com hgweb: 9d5042f8-6932-11e4-ac90-e4115bd10cb8 BEGIN_REQUEST fig 54.215.178.40 /projects/fig/json-pushes/?full=1 Nov 10 23:39:02 hgweb2.dmz.scl3.mozilla.com hgweb: c0278804-6932-11e4-b74f-e4115bd10cb8 BEGIN_REQUEST fig 63.245.214.162 /projects/fig/json-pushes/?full=1 If you load http://hg.mozilla.org/projects/fig/json-pushes?full=1, you'll find it is currently 145,232,405 bytes! I haven't looked at what's going on in the pushlog, but this is very, very wrong. We can't continue to serve massive pushlogs like this.
needinfo catlee so this gets triaged with high priority (since this is likely contributing to the outages we've seen recently).
Flags: needinfo?(catlee)
Actually, I think all the projects/* pushlogs exhibit this problem. Take a look at the top traffic producers on hg.mozilla.org by URL: 217584175027 integration/gaia-central 114539102183 build/tools 93529675286 projects/fig/json-pushes 25273822086 integration/gaia-2_1 16728568156 mozilla-central 14468451244 releases/mozilla-beta 13736330981 integration/mozilla-inbound 12666163503 build/mozharness 11122526727 build/talos 9457257245 releases/mozilla-aurora 6090081997 integration/gaia-2_0 4769007406 projects/maple 3934642453 projects/ash 2859290530 projects/cypress/json-pushes 2454524984 integration/gaia-1_4 995438278 projects/cedar 969852715 integration/fx-team 912853369 projects/holly/json-pushes 878740118 projects/pine/json-pushes 759913211 comm-central 610110130 projects/ux/json-pushes 588445720 projects/elm/json-pushes 565873165 releases/comm-beta 557689275 l10n-central/pl 530654231 projects/ionmonkey/json-pushes 522200050 services/services-central/json-pushes 498329975 users/stage-ffxbld/tools 447961775 projects/ash/json-pushes 443713333 projects/build-system/json-pushes 395443968 try 369771260 projects/larch/json-pushes 355321901 l10n-central/es-ES 326484408 users/Callek_gmail.com/tools 294789762 projects/graphics/json-pushes 283687740 l10n-central/pt-BR 227922785 projects/cedar/json-pushes 211938973 projects/date/json-pushes 193656544 build/ash-mozharness 160807916 projects/jamun/json-pushes 139600810 releases/comm-aurora 122206275 gaia-l10n/en-US
Lots of 5xx status codes too. Not surprising - it takes the web worker >60s to generate the response payload! 10.22.74.212 - - [10/Nov/2014:22:21:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 504 330 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:22:24:04 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/2.4.1 CPython/2.6.9 Linux/3.4.73-64.112.amzn1.x86_64" 10.22.74.212 - - [10/Nov/2014:22:29:08 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/2.4.3 CPython/2.6.6 Linux/2.6.32-431.29.2.el6.x86_64" 10.22.74.212 - - [10/Nov/2014:22:33:02 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/1.2.3 CPython/2.6.9 Linux/3.4.48-45.46.amzn1.x86_64" 10.22.74.212 - - [10/Nov/2014:22:33:06 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/2.4.3 CPython/2.6.6 Linux/2.6.32-431.29.2.el6.x86_64" 10.22.74.212 - - [10/Nov/2014:22:40:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 504 330 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:22:45:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 504 330 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:22:48:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 504 330 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:22:50:05 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/2.4.3 CPython/2.6.6 Linux/2.6.32-431.29.2.el6.x86_64" 10.22.74.212 - - [10/Nov/2014:22:54:03 +0000] "GET /projects/fig/json-pushes?full=1&fromchange=5b036d9629b908b159716709ca2856b418ed42c6 HTTP/1.0" 404 61 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:22:57:04 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/2.4.3 CPython/2.6.6 Linux/2.6.32-431.29.2.el6.x86_64" 10.22.74.212 - - [10/Nov/2014:22:58:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 504 330 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:22:59:15 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/2.4.3 CPython/2.6.6 Linux/2.6.32-431.29.2.el6.x86_64" 10.22.74.212 - - [10/Nov/2014:23:01:02 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/2.4.1 CPython/2.6.9 Linux/3.4.73-64.112.amzn1.x86_64" 10.22.74.212 - - [10/Nov/2014:23:03:14 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/2.4.3 CPython/2.6.6 Linux/2.6.32-431.29.2.el6.x86_64" 10.22.74.212 - - [10/Nov/2014:23:05:01 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/1.2.3 CPython/2.6.9 Linux/3.4.48-45.46.amzn1.x86_64" 10.22.74.212 - - [10/Nov/2014:23:05:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 504 330 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:23:06:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 504 330 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:23:10:02 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/1.2.3 CPython/2.6.9 Linux/3.4.48-45.46.amzn1.x86_64" 10.22.74.212 - - [10/Nov/2014:23:11:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 504 330 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:23:13:02 +0000] "GET /projects/fig/json-pushes?full=1&fromchange=5b036d9629b908b159716709ca2856b418ed42c6 HTTP/1.0" 404 61 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:23:13:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 504 330 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:23:14:02 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/1.2.3 CPython/2.6.9 Linux/3.4.48-45.46.amzn1.x86_64" 10.22.74.212 - - [10/Nov/2014:23:17:40 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/2.4.3 CPython/2.6.6 Linux/2.6.32-431.29.2.el6.x86_64" 10.22.74.212 - - [10/Nov/2014:23:18:02 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/2.4.1 CPython/2.6.9 Linux/3.4.73-64.112.amzn1.x86_64" 10.22.74.212 - - [10/Nov/2014:23:18:04 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/1.2.3 CPython/2.6.9 Linux/3.4.48-45.46.amzn1.x86_64" 10.22.74.212 - - [10/Nov/2014:23:19:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 504 330 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:23:20:02 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/2.4.1 CPython/2.6.9 Linux/3.4.73-64.112.amzn1.x86_64" 10.22.74.212 - - [10/Nov/2014:23:29:03 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/1.2.3 CPython/2.6.9 Linux/3.4.48-45.46.amzn1.x86_64" 10.22.74.212 - - [10/Nov/2014:23:31:04 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/2.4.3 CPython/2.6.6 Linux/2.6.32-431.29.2.el6.x86_64" 10.22.74.212 - - [10/Nov/2014:23:33:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 504 330 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:23:35:02 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/2.4.1 CPython/2.6.9 Linux/3.4.73-64.112.amzn1.x86_64" 10.22.74.212 - - [10/Nov/2014:23:36:02 +0000] "GET /projects/fig/json-pushes?full=1&fromchange=5b036d9629b908b159716709ca2856b418ed42c6 HTTP/1.0" 404 61 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:23:36:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 504 330 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:23:39:02 +0000] "GET /projects/fig/json-pushes?full=1&fromchange=5b036d9629b908b159716709ca2856b418ed42c6 HTTP/1.0" 404 61 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:23:38:03 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/1.2.3 CPython/2.6.9 Linux/3.4.48-45.46.amzn1.x86_64" 10.22.74.212 - - [10/Nov/2014:23:39:01 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/2.4.3 CPython/2.6.6 Linux/2.6.32-431.29.2.el6.x86_64" 10.22.74.212 - - [10/Nov/2014:23:40:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 504 330 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:23:44:05 +0000] "GET /projects/fig/json-pushes?full=1&fromchange=5b036d9629b908b159716709ca2856b418ed42c6 HTTP/1.1" 404 61 "-" "curl/7.30.0" 10.22.74.212 - - [10/Nov/2014:23:44:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 504 330 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:23:45:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 504 330 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:23:46:03 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/2.4.1 CPython/2.6.9 Linux/3.4.73-64.112.amzn1.x86_64" 10.22.74.212 - - [10/Nov/2014:23:47:02 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 504 259 "-" "python-requests/2.4.1 CPython/2.6.9 Linux/3.4.73-64.112.amzn1.x86_64" 10.22.74.212 - - [10/Nov/2014:23:53:02 +0000] "GET /projects/fig/json-pushes?full=1&fromchange=5b036d9629b908b159716709ca2856b418ed42c6 HTTP/1.0" 404 61 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:23:52:54 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 200 24298 "-" "python-requests/2.4.3 CPython/2.6.6 Linux/2.6.32-431.29.2.el6.x86_64" 10.22.74.212 - - [10/Nov/2014:23:55:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 200 127910 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:23:56:46 +0000] "GET /projects/fig/json-pushes?full=1 HTTP/1.0" 200 127910 "-" "Twisted PageGetter" 10.22.74.212 - - [10/Nov/2014:23:58:02 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 200 24298 "-" "python-requests/1.2.3 CPython/2.6.9 Linux/3.4.48-45.46.amzn1.x86_64" 10.22.74.212 - - [11/Nov/2014:00:01:04 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 200 24298 "-" "python-requests/1.2.3 CPython/2.6.9 Linux/3.4.48-45.46.amzn1.x86_64" 10.22.74.212 - - [11/Nov/2014:00:02:02 +0000] "GET /projects/fig/json-pushes/?full=1 HTTP/1.1" 200 24298 "-" "python-requests/2.4.1 CPython/2.6.9 Linux/3.4.73-64.112.amzn1.x86_64"
Component: Release Automation → General Automation
QA Contact: bhearsum → catlee
The pushlog database for fig is empty. It appears pushlog reacts to this scenario by inventing push id 1 and attributing every commit in the repository to it. It might be reasonable for automation to be querying the pushlog URL without a limit/filter. I wonder what would happen if we change the default behavior of pushlog...
What time period does the comment #2 data cover ?
Ignore comment #2. Read bug 1096337 comment #5 for a complete UTC day across all hgweb nodes.
I would imagine the CPython UAs are Treeherder and the Twisted UAs the release engineering hg poller. Once treeherder gets a successful response from json-pushes for a repo, it stores the most recent revision, and uses that with &fromchange=SHA in the next call. The only exceptions to that are (a) we clear this cached revision on a deploy of treeherder, since we purge memcached, (b) there are issues with memcached at the moment that mean we don't always set the value. Also, if the fig json-pushes call times out (as in the log in this bug), we can't set a last revision seen, so request json-pushes with no &fromchange param again. It would seem from the log in comment 3 that the hg poller might do similar (use &fromchange when possible).
Sorry, I could have sworn I replied here already. Lost by mid-air collision perhaps? Ed is right, the Twisted UAs come from buildbot's hgpoller, which uses an unqualified query to ?json-pushes&full=1 when it first runs in order to determine what the "latest" revision is. Subsequent queries use &fromchange to detect new changes. If there's a better query for the initial case (to find out the latest revision), we should use it here: http://hg.mozilla.org/build/buildbotcustom/file/ca48907e6fa2/changes/hgpoller.py#l223 While we're in there, we should fix bug 1086961 - the pollers get reset everything we do a reconfig, meaning they have to re-discover the latest changeset, possibly missing pushes that happen right at that moment.
Flags: needinfo?(catlee)
> 530654231 projects/ionmonkey/json-pushes is odd. It's not enabled in tbpl/treeherder/buildbot any more.
I'm still wrapping my head around how to best fix this. In the mean time, I pushed some changesets to fig to stop the worst offender. Using my unified repository, I found existing children changesets of fig's previous head. I pushed one of them. Fig's pushlog should now be returning sane results.
(In reply to Gregory Szorc [:gps] from comment #4) > The pushlog database for fig is empty. It appears pushlog reacts to this > scenario by inventing push id 1 and attributing every commit in the > repository to it. > > It might be reasonable for automation to be querying the pushlog URL without > a limit/filter. I wonder what would happen if we change the default behavior > of pushlog... I think querying without a limit/filter is acceptable, since pushlog only returns the last 10 pushes anyway. However we should fix the "pushlog is empty" case mentioned above - unless the new pushlog extension already does this? gps? (In reply to Nick Thomas [:nthomas] (Away until Jan 12th) from comment #9) > > 530654231 projects/ionmonkey/json-pushes > is odd. It's not enabled in tbpl/treeherder/buildbot any more. Did we ever find out where the requests are coming from for this? Are they still occurring? This repo should be dormant.
Flags: needinfo?(gps)
The new pushlog extension only rewrote the insertion bits. We still have a separate Mercurial extension (pushlog-feed.py) that manually queries the database to obtain pushlog data that has been largely untouched. There is another bug somewhere documenting the issue with a single push containing thousands of commits and pushlog attempting to render these. This happens when a project repo is reset, for example. Requests are likely coming from buildbot. We should leave this bug open until we have a story for handling both the "empty repo" and "big push" cases. We have v2 of the pushlog JSON now. That's free from backwards compatibility concerns. We can shoehorn incompatibilities into that.
Flags: needinfo?(gps)
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WONTFIX
Component: General Automation → General
You need to log in before you can comment on or make changes to this bug.