On Tuesday 2013-11-05 14:44 +0000, David Burns wrote:
> We appear to be doing 1 backout for every 15 pushes on a rough
> average[4]. This number I am sure you can all agree is far too high
> especially if we think about the figures that John O'Duinn
> suggests[5] for the cost of each push for running and testing. With
> the offending patch + backout we are using 508 computing hours for
> essentially doing no changes to the tree and then we do another 254
> computing hours for the fixed reland. Note the that the 508 hours
> doesn't include retriggers done by the Sheriffs to see if it is
> intermittent or not.
> 
> This is a lot of wasted effort when we should be striving to get
> patches to stick first time. Let's see if we can try make this
> figure 1 in 30 patches getting backed out.

If your goal is saving compute time, I suspect a message like this
could actually worsen our use of compute time, since the increase in
try server compute time usage as a result of people being more
careful may well be larger than the savings in mozilla-inbound
compute time from fewer backouts, at least for many people.

That said, I think there are other reasons to want to improve this
number, because broken trees have other effects on developer
productivity.  However, with that there's also definitely a point
where it's not worth an individual to spend more time for a small
reduction in the probability of wasting others' time.

I think it's worth tracking both the resource consumption rates and
backout rates of individual committers, because they're
substantially different, and if we want people working at the
correct optimum we should be giving opposite advice to different
committers.  (I'm aware we track resource consumption on try at
[1].)  I think some committers are too careful and overconsume
compute resources on try, and some are not careful enough and
overconsume resources (computer and human) on inbound.  So we should
gather data so that we can give the correct advice to different
committers rather than giving blanket advice that's going to be
correct for some people and wrong for others.

I also don't buy the argument raised elsewhere in this thread that
testing on developer machines scales better than testing on
consolidated hardware.  Purchasing and issuing machines to
developers, and then having those developers spend time setting up a
development environment on those machines takes time, just as
increasing our build and test infrastructure does.  I think if it's
cheaper than making an equivalent increase in our build
infrastructure (of identically-configured machines) then it seems to
me that there's something wrong with the way we build up that
infrastructure.

-David

[1] 
https://secure.pub.build.mozilla.org/builddata/reports/reportor/daily/highscores/highscores.html

-- 
𝄞   L. David Baron                         http://dbaron.org/   𝄂
𝄢   Mozilla                          https://www.mozilla.org/   𝄂
             Before I built a wall I'd ask to know
             What I was walling in or walling out,
             And to whom I was like to give offense.
               - Robert Frost, Mending Wall (1914)

Attachment: signature.asc
Description: Digital signature

_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to