maildev@lists.thunderbird.net

Thunderbird email developers

View all threads

RFC: Review policy for bustage fixes

RK
R Kent James
Wed, Nov 1, 2017 8:50 PM

As the pace of bustages hitting Thunderbird has increased with rapid
changes to m-c, we've struggled to keep up. Jörg has been focused on
this issue, but has requested that we clarify the review policy for
these bustage fixes. He is in the untenable position of being
responsible for keeping c-c buildable, but there are not adequate
reviewers to do timely reviews of needed changes.

There has been some discussions of this issue by the Thunderbird
Council, but really this is a technical issue that is best resolved by
the active developers, which is this maildev list.

Let me put forward a policy proposal, which as I understand it is
largely what is proposed by Jörg, with some additional details filled in:

  1. We introduce the concept of post-landing reviews for bustage
    fixes. That is, qualified developers are allowed to land bustage fixes
    to c-c and c-beta Thunderbird directories without review. Let's call
    such patches "PLR patches" for "Post Landing Review patches". Landings
    to c-beta also require the usual approval from the release engineer
    (currently Jörg). This policy only applies to patches needed to keep c-c
    or c-b builds usable, that is fixing a failure to build, significant new
    test failures, or major regressions.

  2. "Qualified developers" who can land PLR patches are module owners
    and peers of the relevant directories. (Should we allow staff engineers,
    currently Jörg, to land PLR patches in other c-c directories,
    particularly Calendar and Chat?)

  3. "Qualified developers" may also backout PLR patches prior to
    review, even those landed by others, should they believe that the patch
    is inappropriate.

  4. PLR patches shall be assigned to a reviewer for review. (Should we
    create a generic review account, like tb-reviewer, that could receive
    this assignment?)

  5. PLR patches with pending reviews shall be flagged as such by
    adding the word "PLR" to the BMO whiteboard for the relevant bug. This
    flag shall be removed by the reviewer when the patch is reviewed. This
    allows tracking of pending PLR reviews.

  6. We set the goal to complete all PLR patch reviews that are part of
    a major release prior to that major release.

Although this policy is not common in Mozilla, variants are fairly
common in other open source projects. We are actively trying to hire
additional developers for Thunderbird at the moment, and we may change
this policy when we get to the point where there are enough staff
developers to accomplish these reviews in a timely manner.

Comments?

As the pace of bustages hitting Thunderbird has increased with rapid changes to m-c, we've struggled to keep up. Jörg has been focused on this issue, but has requested that we clarify the review policy for these bustage fixes. He is in the untenable position of being responsible for keeping c-c buildable, but there are not adequate reviewers to do timely reviews of needed changes. There has been some discussions of this issue by the Thunderbird Council, but really this is a technical issue that is best resolved by the active developers, which is this maildev list. Let me put forward a policy proposal, which as I understand it is largely what is proposed by Jörg, with some additional details filled in: 1) We introduce the concept of post-landing reviews for bustage fixes. That is, qualified developers are allowed to land bustage fixes to c-c and c-beta Thunderbird directories without review. Let's call such patches "PLR patches" for "Post Landing Review patches". Landings to c-beta also require the usual approval from the release engineer (currently Jörg). This policy only applies to patches needed to keep c-c or c-b builds usable, that is fixing a failure to build, significant new test failures, or major regressions. 2) "Qualified developers" who can land PLR patches are module owners and peers of the relevant directories. (Should we allow staff engineers, currently Jörg, to land PLR patches in other c-c directories, particularly Calendar and Chat?) 3) "Qualified developers" may also backout PLR patches prior to review, even those landed by others, should they believe that the patch is inappropriate. 4) PLR patches shall be assigned to a reviewer for review. (Should we create a generic review account, like tb-reviewer, that could receive this assignment?) 5) PLR patches with pending reviews shall be flagged as such by adding the word "PLR" to the BMO whiteboard for the relevant bug. This flag shall be removed by the reviewer when the patch is reviewed. This allows tracking of pending PLR reviews. 6) We set the goal to complete all PLR patch reviews that are part of a major release prior to that major release. Although this policy is not common in Mozilla, variants are fairly common in other open source projects. We are actively trying to hire additional developers for Thunderbird at the moment, and we may change this policy when we get to the point where there are enough staff developers to accomplish these reviews in a timely manner. Comments?
JK
Jörg Knobloch
Wed, Nov 1, 2017 9:00 PM

On 01/11/2017 21:50, R Kent James wrote:

Should we allow staff engineers, currently Jörg, to land PLR patches in other c-c directories, particularly Calendar and Chat?)

Absolutely. Bustage that hits Calendar (not uncommon) could cause a huge test failure and make sheriffing practically impossible.

Jörg.

WM
Wayne Mery
Fri, Nov 3, 2017 8:15 PM

On 11/1/2017 5:00 PM, Jörg Knobloch wrote:

On 01/11/2017 21:50, R Kent James wrote:

Should we allow staff engineers, currently Jörg, to land PLR patches
in other c-c directories, particularly Calendar and Chat?)

Absolutely. Bustage that hits Calendar (not uncommon) could cause a
huge test failure and make sheriffing practically impossible.

Jörg.

To add some flavor, the council felt it was essential that Jorg's build
bustage fix work not be unduly impeded, that there be a process in
bugzilla, and that the process should reduce stress and pressure on the
person doing such work. It is good to see a potential solution being
adopted.

On 11/1/2017 5:00 PM, Jörg Knobloch wrote: > On 01/11/2017 21:50, R Kent James wrote: >> Should we allow staff engineers, currently Jörg, to land PLR patches >> in other c-c directories, particularly Calendar and Chat?) > > Absolutely. Bustage that hits Calendar (not uncommon) could cause a > huge test failure and make sheriffing practically impossible. > > Jörg. > To add some flavor, the council felt it was essential that Jorg's build bustage fix work not be unduly impeded, that there be a process in bugzilla, and that the process should reduce stress and pressure on the person doing such work. It is good to see a potential solution being adopted.
A
ace
Fri, Nov 3, 2017 8:31 PM

----- Pôvodná správa -----
Predmet: [Maildev] RFC: Review policy for bustage fixes
Od: R Kent James kent@caspia.com
Pre: Thunderbird email developers maildev@lists.thunderbird.net
Dátum: Wed, 1 Nov 2017 13:50:17 -0700

1)    We introduce the concept of post-landing reviews for bustage
fixes. That is, qualified developers are allowed to land bustage fixes
to c-c and c-beta Thunderbird directories without review. Let's call
such patches "PLR patches" for "Post Landing Review patches". Landings
to c-beta also require the usual approval from the release engineer
(currently Jörg). This policy only applies to patches needed to keep c-c
or c-b builds usable, that is fixing a failure to build, significant new
test failures, or major regressions.

Thanks, I have commented in the past that this seems a good idea and
worked so far (executed informally).

2)    "Qualified developers" who can land PLR patches are module owners
and peers of the relevant directories. (Should we allow staff engineers,
currently Jörg, to land PLR patches in other c-c directories,
particularly Calendar and Chat?)

The respective module owners could decide this for their modules. But if
they do not allow staff/Jorg to do it, then they must be ready to fix
stuff quickly themselves.

4)    PLR patches shall be assigned to a reviewer for review. (Should we
create a generic review account, like tb-reviewer, that could receive
this assignment?)

I vote for assigning to a real reviewer before landing.

aceman

----- Pôvodná správa ----- Predmet: [Maildev] RFC: Review policy for bustage fixes Od: R Kent James <kent@caspia.com> Pre: Thunderbird email developers <maildev@lists.thunderbird.net> Dátum: Wed, 1 Nov 2017 13:50:17 -0700 > 1)    We introduce the concept of post-landing reviews for bustage > fixes. That is, qualified developers are allowed to land bustage fixes > to c-c and c-beta Thunderbird directories without review. Let's call > such patches "PLR patches" for "Post Landing Review patches". Landings > to c-beta also require the usual approval from the release engineer > (currently Jörg). This policy only applies to patches needed to keep c-c > or c-b builds usable, that is fixing a failure to build, significant new > test failures, or major regressions. Thanks, I have commented in the past that this seems a good idea and worked so far (executed informally). > 2)    "Qualified developers" who can land PLR patches are module owners > and peers of the relevant directories. (Should we allow staff engineers, > currently Jörg, to land PLR patches in other c-c directories, > particularly Calendar and Chat?) The respective module owners could decide this for their modules. But if they do not allow staff/Jorg to do it, then they must be ready to fix stuff quickly themselves. > 4)    PLR patches shall be assigned to a reviewer for review. (Should we > create a generic review account, like tb-reviewer, that could receive > this assignment?) I vote for assigning to a real reviewer before landing. aceman
MM
Magnus Melin
Sat, Nov 4, 2017 12:29 PM

On 03-11-2017 22:31, ace wrote:

4)    PLR patches shall be assigned to a reviewer for review. (Should we
create a generic review account, like tb-reviewer, that could receive
this assignment?)

I vote for assigning to a real reviewer before landing.

Thinking some more about this, I agree it may be preferable to flag a
real reviewer.

 -Magnus

On 03-11-2017 22:31, ace wrote: >> 4)    PLR patches shall be assigned to a reviewer for review. (Should we >> create a generic review account, like tb-reviewer, that could receive >> this assignment?) > I vote for assigning to a real reviewer before landing. Thinking some more about this, I agree it may be preferable to flag a real reviewer.  -Magnus
PK
Philipp Kewisch
Sun, Nov 5, 2017 10:17 AM

Hi Folks,

sorry for the late reply on this, and thanks for putting it together. I
totally agree that we need to formalize the process that Jörg hast been
working under, otherwise it will (and has) caused grief among others
because of breaking the current process. I also see how the current
process with the review situation we have makes it difficult to keep the
tree green.

Some comments inline:

1)    We introduce the concept of post-landing reviews for bustage
fixes. That is, qualified developers are allowed to land bustage fixes
to c-c and c-beta Thunderbird directories without review. Let's call
such patches "PLR patches" for "Post Landing Review patches". Landings
to c-beta also require the usual approval from the release engineer
(currently Jörg). This policy only applies to patches needed to keep
c-c or c-b builds usable, that is fixing a failure to build,
significant new test failures, or major regressions.

I'd like to suggest to revise/clarify this so that there is at least one
more set of eyes for landings to comm-beta. The person creating the
patch should not at the same time give it the rubber stamp for landing,
approve it for beta, and land it there. So concretely, since Jörg takes
care of beta approvals, if he is also the one who pushed the bustage fix
(either creating the patch himself or piecing together someone else's
code snippet), I don't believe it is a good idea to have him do the beta
approval. We should appoint someone else in this case.

The consequence if we don't do this is that one person can push a patch
from creation to beta (and essentially also to release) without extra
eyes. Getting someone to approve a patch is much less effort than a
review, so I think this is a reasonable restriction.

The exception would likely be in build config if it is a patch that is
required to keep the builds working at all, but I suspect that in this
case Tom can easily step in either as patch author, reviewer, or approver.

2)    "Qualified developers" who can land PLR patches are module
owners and peers of the relevant directories. (Should we allow staff
engineers, currently Jörg, to land PLR patches in other c-c
directories, particularly Calendar and Chat?)

If "Owners and Peers" are the people that can do this, essentially
everyone that can review can also land without review. I think this is
too broad. I'm not sure if we should just restrict this to those in the
"sheriff team" (so, Jörg) which we can expand, or if there is something
inbetween.

For calendar I'm fine with build config changes as PLR, but would like
to continue to pre-review anything that goes above it. If that blocks
tests from being green and the patch is not reasonably going to be
written within a few days or a week, I am fine with temporarily
disabling calendar tests (without review) after reasonable effort has
been made to get review. If it blocks the build from being green it is
likely a build config issue, if this is not the case then I will either
take care of the review quickly, or we can consider further exceptions.

The reason for this, and also my general concern with PLR, is that the
patches being created are often band-aids just to get the tree green
again. If reviews are not done in a timely manner, then those band aids
will stick forever, which decreases the quality of the product and will
bite us later. Given that at current calendar is not a very active
component, I think it is reasonable to go this way because possible test
failures or disabled tests are not blocking active development. Of
course, there may be more m-c patches that break calendar, but that is
my responsibility as module owner to prevent and act on.

3)    "Qualified developers" may also backout PLR patches prior to
review, even those landed by others, should they believe that the
patch is inappropriate.

Given the premise that module owners and peers are qualified developers,
does this mean that (for the sake of example) Magnus could back out a
patch that was landed to keep the tree green, if he feels that there are
issues he would flag in a review, hence breaking the tree until everyone
is happy with the patch? I could see this as a potential point for
friction as on the one hand there is Jörg's need to keep the tree green,
and (again for the sake of example) Magnus' need to have a patch pushed
that doesn't have review issues.

4)    PLR patches shall be assigned to a reviewer for review. (Should
we create a generic review account, like tb-reviewer, that could
receive this assignment?)

I liked the idea of a generic reviewer account as they have done it in
the core build config component. The obvious downsides are that nobody
specific is responsible, and it could lead to patches not being reviewed
because "oh well, someone else will take care". What we could do is have
a generic reviewer account, along with one or more triage owners that
will assign specific reviews in case the patch falls into the expertise
area of someone specific.

It seems a specific reviewer is what most people want here, I am fine
with that.

5)    PLR patches with pending reviews shall be flagged as such by
adding the word "PLR" to the BMO whiteboard for the relevant bug. This
flag shall be removed by the reviewer when the patch is reviewed. This
allows tracking of pending PLR reviews.

We could request a keyword for this as well as it will be common enough.

6)    We set the goal to complete all PLR patch reviews that are part
of a major release prior to that major release.

How do we make sure this happens? Do we not release until all patches
are reviewed?

Although this policy is not common in Mozilla, variants are fairly
common in other open source projects. We are actively trying to hire
additional developers for Thunderbird at the moment, and we may change
this policy when we get to the point where there are enough staff
developers to accomplish these reviews in a timely manner.

I agree this should be a temporary measure. Sure, it will take a new
developer some time to get up to speed, but we could change it then so
that the new developer takes care of the review, and if they do not feel
comfortable with the area of code yet they could keep the PLR keyword
and ask for second review from someone else.

Personally I would want a less loose strategy that restricts PLR reviews
to failures that fundamentally break tests (e.g. a simple incoming m-c
change that breaks all tests), and possibly reviews that take longer
than a certain time. Failures inbetween would be starred on treeherder,
just like Mozilla used to do before m-i. I think it should be reasonable
to wait for review a few days instead of pushing everything as a bustage
fix. From what I have gathered there is strong opposition to this mainly
from Jörg, but I would be interested to hear from everyone if we can
find a compromise inbetween.

Philipp

Hi Folks, sorry for the late reply on this, and thanks for putting it together. I totally agree that we need to formalize the process that Jörg hast been working under, otherwise it will (and has) caused grief among others because of breaking the current process. I also see how the current process with the review situation we have makes it difficult to keep the tree green. Some comments inline: > 1)    We introduce the concept of post-landing reviews for bustage > fixes. That is, qualified developers are allowed to land bustage fixes > to c-c and c-beta Thunderbird directories without review. Let's call > such patches "PLR patches" for "Post Landing Review patches". Landings > to c-beta also require the usual approval from the release engineer > (currently Jörg). This policy only applies to patches needed to keep > c-c or c-b builds usable, that is fixing a failure to build, > significant new test failures, or major regressions. I'd like to suggest to revise/clarify this so that there is at least one more set of eyes for landings to comm-beta. The person creating the patch should not at the same time give it the rubber stamp for landing, approve it for beta, and land it there. So concretely, since Jörg takes care of beta approvals, if he is also the one who pushed the bustage fix (either creating the patch himself or piecing together someone else's code snippet), I don't believe it is a good idea to have him do the beta approval. We should appoint someone else in this case. The consequence if we don't do this is that one person can push a patch from creation to beta (and essentially also to release) without extra eyes. Getting someone to approve a patch is much less effort than a review, so I think this is a reasonable restriction. The exception would likely be in build config if it is a patch that is required to keep the builds working at all, but I suspect that in this case Tom can easily step in either as patch author, reviewer, or approver. > > 2)    "Qualified developers" who can land PLR patches are module > owners and peers of the relevant directories. (Should we allow staff > engineers, currently Jörg, to land PLR patches in other c-c > directories, particularly Calendar and Chat?) If "Owners and Peers" are the people that can do this, essentially everyone that can review can also land without review. I think this is too broad. I'm not sure if we should just restrict this to those in the "sheriff team" (so, Jörg) which we can expand, or if there is something inbetween. For calendar I'm fine with build config changes as PLR, but would like to continue to pre-review anything that goes above it. If that blocks tests from being green and the patch is not reasonably going to be written within a few days or a week, I am fine with temporarily disabling calendar tests (without review) after reasonable effort has been made to get review. If it blocks the build from being green it is likely a build config issue, if this is not the case then I will either take care of the review quickly, or we can consider further exceptions. The reason for this, and also my general concern with PLR, is that the patches being created are often band-aids just to get the tree green again. If reviews are not done in a timely manner, then those band aids will stick forever, which decreases the quality of the product and will bite us later. Given that at current calendar is not a very active component, I think it is reasonable to go this way because possible test failures or disabled tests are not blocking active development. Of course, there may be more m-c patches that break calendar, but that is my responsibility as module owner to prevent and act on. > > 3)    "Qualified developers" may also backout PLR patches prior to > review, even those landed by others, should they believe that the > patch is inappropriate. Given the premise that module owners and peers are qualified developers, does this mean that (for the sake of example) Magnus could back out a patch that was landed to keep the tree green, if he feels that there are issues he would flag in a review, hence breaking the tree until everyone is happy with the patch? I could see this as a potential point for friction as on the one hand there is Jörg's need to keep the tree green, and (again for the sake of example) Magnus' need to have a patch pushed that doesn't have review issues. > > 4)    PLR patches shall be assigned to a reviewer for review. (Should > we create a generic review account, like tb-reviewer, that could > receive this assignment?) I liked the idea of a generic reviewer account as they have done it in the core build config component. The obvious downsides are that nobody specific is responsible, and it could lead to patches not being reviewed because "oh well, someone else will take care". What we could do is have a generic reviewer account, along with one or more triage owners that will assign specific reviews in case the patch falls into the expertise area of someone specific. It seems a specific reviewer is what most people want here, I am fine with that. > > 5)    PLR patches with pending reviews shall be flagged as such by > adding the word "PLR" to the BMO whiteboard for the relevant bug. This > flag shall be removed by the reviewer when the patch is reviewed. This > allows tracking of pending PLR reviews. We could request a keyword for this as well as it will be common enough. > > 6)    We set the goal to complete all PLR patch reviews that are part > of a major release prior to that major release. How do we make sure this happens? Do we not release until all patches are reviewed? > > Although this policy is not common in Mozilla, variants are fairly > common in other open source projects. We are actively trying to hire > additional developers for Thunderbird at the moment, and we may change > this policy when we get to the point where there are enough staff > developers to accomplish these reviews in a timely manner. I agree this should be a temporary measure. Sure, it will take a new developer some time to get up to speed, but we could change it then so that the new developer takes care of the review, and if they do not feel comfortable with the area of code yet they could keep the PLR keyword and ask for second review from someone else. Personally I would want a less loose strategy that restricts PLR reviews to failures that fundamentally break tests (e.g. a simple incoming m-c change that breaks all tests), and possibly reviews that take longer than a certain time. Failures inbetween would be starred on treeherder, just like Mozilla used to do before m-i. I think it should be reasonable to wait for review a few days instead of pushing everything as a bustage fix. From what I have gathered there is strong opposition to this mainly from Jörg, but I would be interested to hear from everyone if we can find a compromise inbetween. Philipp
JK
Jörg Knobloch
Sun, Nov 5, 2017 10:35 AM

On 05/11/2017 11:17, Philipp Kewisch wrote:

Personally I would want a less loose strategy that restricts PLR reviews
to failures that fundamentally break tests (e.g. a simple incoming m-c
change that breaks all tests), and possibly reviews that take longer
than a certain time. Failures inbetween would be starred on treeherder,
just like Mozilla used to do before m-i. I think it should be reasonable
to wait for review a few days instead of pushing everything as a bustage
fix. From what I have gathered there is strong opposition to this mainly
from Jörg, but I would be interested to hear from everyone if we can
find a compromise inbetween.

In general you need to allow any measure that allows effective
sheriffing. If I have a test run with 100 failures, whacking a star onto
them doesn't help detecting the 101st and 102nd additional failures.
Surely we can live with one or two failing tests for a while. That is
the case anyway when the failure needs to be fixed in M-C.

I don't understand why we're discussing beta here. I can't recall a
single bustage fix incident on beta. IIRC, all beta uplifts have been
properly reviewed, and there was never any opposition to the author (me)
also being the approver (me) of the uplift.

Jörg.

On 05/11/2017 11:17, Philipp Kewisch wrote: > Personally I would want a less loose strategy that restricts PLR reviews > to failures that fundamentally break tests (e.g. a simple incoming m-c > change that breaks all tests), and possibly reviews that take longer > than a certain time. Failures inbetween would be starred on treeherder, > just like Mozilla used to do before m-i. I think it should be reasonable > to wait for review a few days instead of pushing everything as a bustage > fix. From what I have gathered there is strong opposition to this mainly > from Jörg, but I would be interested to hear from everyone if we can > find a compromise inbetween. In general you need to allow any measure that allows effective sheriffing. If I have a test run with 100 failures, whacking a star onto them doesn't help detecting the 101st and 102nd additional failures. Surely we can live with one or two failing tests for a while. That is the case anyway when the failure needs to be fixed in M-C. I don't understand why we're discussing beta here. I can't recall a single bustage fix incident on beta. IIRC, all beta uplifts have been properly reviewed, and there was never any opposition to the author (me) also being the approver (me) of the uplift. Jörg.
PK
Philipp Kewisch
Sun, Nov 5, 2017 11:25 AM

On 11/5/17 11:35 AM, Jörg Knobloch wrote:

On 05/11/2017 11:17, Philipp Kewisch wrote:

Personally I would want a less loose strategy that restricts PLR reviews
to failures that fundamentally break tests (e.g. a simple incoming m-c
change that breaks all tests), and possibly reviews that take longer
than a certain time. Failures inbetween would be starred on treeherder,
just like Mozilla used to do before m-i. I think it should be reasonable
to wait for review a few days instead of pushing everything as a bustage
fix. From what I have gathered there is strong opposition to this mainly
from Jörg, but I would be interested to hear from everyone if we can
find a compromise inbetween.

In general you need to allow any measure that allows effective
sheriffing. If I have a test run with 100 failures, whacking a star
onto them doesn't help detecting the 101st and 102nd additional
failures. Surely we can live with one or two failing tests for a
while. That is the case anyway when the failure needs to be fixed in M-C.

I agree with that, but I'd like us to be a bit more creative as to what
these measures are. Yes, sheriffing needs to be effective, but there are
also other factors that need to be taken into account that are equally
important.

I don't understand why we're discussing beta here. I can't recall a
single bustage fix incident on beta. IIRC, all beta uplifts have been
properly reviewed, and there was never any opposition to the author
(me) also being the approver (me) of the uplift.

This is not about past incidents. The wording Kent used suggested that
pushes can be done without restrictions, so I think we should clarify
the policy. I have no issue if you are author and approver, but then you
shouldn't be reviewer, and this is a case where I think PLR should not
apply. Otherwise nobody has really seen the patches before they go to
beta/release. As mentioned, it shouldn't be to hard to find someone else
to approve if you are both author and reviewer (or author and no review
due to PLR).

Also unrelated to this reply, can we use [plr] in the whiteboard, no
explanation? This is more in line with how the whiteboard is being used
and allows for more tags if necessary.

Philipp

On 11/5/17 11:35 AM, Jörg Knobloch wrote: > On 05/11/2017 11:17, Philipp Kewisch wrote: >> Personally I would want a less loose strategy that restricts PLR reviews >> to failures that fundamentally break tests (e.g. a simple incoming m-c >> change that breaks all tests), and possibly reviews that take longer >> than a certain time. Failures inbetween would be starred on treeherder, >> just like Mozilla used to do before m-i. I think it should be reasonable >> to wait for review a few days instead of pushing everything as a bustage >> fix. From what I have gathered there is strong opposition to this mainly >> from Jörg, but I would be interested to hear from everyone if we can >> find a compromise inbetween. > > In general you need to allow any measure that allows effective > sheriffing. If I have a test run with 100 failures, whacking a star > onto them doesn't help detecting the 101st and 102nd additional > failures. Surely we can live with one or two failing tests for a > while. That is the case anyway when the failure needs to be fixed in M-C. I agree with that, but I'd like us to be a bit more creative as to what these measures are. Yes, sheriffing needs to be effective, but there are also other factors that need to be taken into account that are equally important. > > I don't understand why we're discussing beta here. I can't recall a > single bustage fix incident on beta. IIRC, all beta uplifts have been > properly reviewed, and there was never any opposition to the author > (me) also being the approver (me) of the uplift. This is not about past incidents. The wording Kent used suggested that pushes can be done without restrictions, so I think we should clarify the policy. I have no issue if you are author and approver, but then you shouldn't be reviewer, and this is a case where I think PLR should not apply. Otherwise nobody has really seen the patches before they go to beta/release. As mentioned, it shouldn't be to hard to find someone else to approve if you are both author and reviewer (or author and no review due to PLR). Also unrelated to this reply, can we use [plr] in the whiteboard, no explanation? This is more in line with how the whiteboard is being used and allows for more tags if necessary. Philipp
BB
Ben Bucksch
Sun, Nov 5, 2017 12:38 PM

Philipp Kewisch wrote on 05.11.17 11:17:

3)    "Qualified developers" may also backout PLR patches prior to
review, even those landed by others, should they believe that the
patch is inappropriate.

Given the premise that module owners and peers are qualified developers,
does this mean that (for the sake of example) Magnus could back out a
patch that was landed to keep the tree green, if he feels that there are
issues he would flag in a review, hence breaking the tree until everyone
is happy with the patch?

Yes. This is a necessary correction.

If we allow checkin without review, then those reviewers must have at
least the option to object - both before and after checkin, to avoid races.

In other words, we switch from "default deny" (can't land without
review) to "default allow" (can land without review), but that doesn't
override the reviewer.

If the reviewer is not OK with the patch and the committer is aware
that, the "default allow" policy no longer applies and it's an explicit
deny and the "land without review" doesn't apply, because there's
effectively a negative review.

Same should then apply after the fact, i.e. backout after landing, to
avoid that the committer hides things or outraces the reviewer.

Then, the resolution for the broken build could be creates another patch
using a different approach. For such controversial fixes, there are
usually alternatives.

Philipp Kewisch wrote on 05.11.17 11:17: >> 3)    "Qualified developers" may also backout PLR patches prior to >> review, even those landed by others, should they believe that the >> patch is inappropriate. > Given the premise that module owners and peers are qualified developers, > does this mean that (for the sake of example) Magnus could back out a > patch that was landed to keep the tree green, if he feels that there are > issues he would flag in a review, hence breaking the tree until everyone > is happy with the patch? Yes. This is a necessary correction. If we allow checkin without review, then those reviewers must have at least the option to object - both before and after checkin, to avoid races. In other words, we switch from "default deny" (can't land without review) to "default allow" (can land without review), but that doesn't override the reviewer. If the reviewer is not OK with the patch and the committer is aware that, the "default allow" policy no longer applies and it's an explicit deny and the "land without review" doesn't apply, because there's effectively a negative review. Same should then apply after the fact, i.e. backout after landing, to avoid that the committer hides things or outraces the reviewer. Then, the resolution for the broken build could be creates another patch using a different approach. For such controversial fixes, there are usually alternatives.
BB
Ben Bucksch
Sun, Nov 5, 2017 12:47 PM

Jörg Knobloch wrote on 05.11.17 11:35:

In general you need to allow any measure that allows effective sheriffing

I don't subscribe to this goal overriding everything else. It completely
ignores other goals.

The "wild west" ("sherrif") didn't work out so well. Even the police
today does not have absolute powers.

If the police cannot just break into doors just to catch a mischief,
then even less so we can commit any patch no matter which just to keep
the tree green. Some patches are just a bad idea, e.g. the fork of the
necko stream implementation, and it's better to have the tree red until
you have a better patch than to commit this, and the tree green, and
move on to other breakage.

If you don't have another manpower, then we need to add manpower. If we
can't get more manpower, then we need to think of completely different
solutions. Hiding issues with patchwork will only get us into even
bigger trouble later on.

Ben

Jörg Knobloch wrote on 05.11.17 11:35: > In general you need to allow any measure that allows effective sheriffing I don't subscribe to this goal overriding everything else. It completely ignores other goals. The "wild west" ("sherrif") didn't work out so well. Even the police today does not have absolute powers. If the police cannot just break into doors just to catch a mischief, then even less so we can commit any patch no matter which just to keep the tree green. Some patches are just a bad idea, e.g. the fork of the necko stream implementation, and it's better to have the tree red until you have a better patch than to commit this, and the tree green, and move on to other breakage. If you don't have another manpower, then we need to add manpower. If we can't get more manpower, then we need to think of completely different solutions. Hiding issues with patchwork will only get us into even bigger trouble later on. Ben