[openstack-dev] auto-abandon changesets considered harmful (was Re: [stable][all] Revisiting the 6 month release cycle [metrics])

James E. Blair corvus at inaugust.com
Mon Mar 2 20:13:19 UTC 2015


Stefano branched this thread from an older one to talk about
auto-abandon.  In the previous thread, I believe I explained my
concerns, but since the topic split, perhaps it would be good to
summarize why this is an issue.

1) A core reviewer forcefully abandoning a change contributed by someone
else can be a very negative action.  It's one thing for a contributor to
say "I have abandoned this effort", it's very different for a core
reviewer to do that for them.  It is a very strong action and signal,
and should not be taken lightly.

2) Many changes become "inactive" due to no fault of their authors.  For
instance, a change to nova that missed a freeze deadline might need to
be deferred for 3 months or more.  It should not be automatically
abandoned.

3) Abandoned changes are not visible by their authors.  Many
contributors will not see the abandoned change.  Many contributors use
their list of open reviews to get their work done, but if you abandon
their changes, they will no longer see that there is work for them to be
done.

4) Abandoned changes are not visible to other contributors.  Other
people contributing to a project may see a change that they could fix up
and get merged.  However, if the change is abandoned, they are unlikely
to find it.

5) Abandoned changes are not able to be resumed by other contributors.
Even if they managed to find changes despite the obstacles imposed by
#3, they would be unable to restore the change and continue working on
it.

In short, there are a number of negative impacts to contributors, core
reviewers, and maintainers of projects caused by automatically
abandoning changes.  These are not hypothetical; I have seen all of
these negative impacts on projects I contribute to.

Now this is the most important part -- I can not emphasize this enough:

  Whatever is being achieved by auto-abandoning can be achieved through
  other, less harmful, methods.

Core reviewers should not have to wade through lots of extra changes.
They should not be called upon to deal with drive-by changes that people
are not willing to collaborate on.  Abandoning changes is an imperfect
solution to a problem, and we can find a better solution.

We have tools that can filter out changes that are not active so that
core reviewers are not bothered by them.  In fact, the auto-abandon
script itself is built on one or two exceedingly simple queries which,
when reversed, will show you only the changes it would not abandon.

What I hope to gain by this conversation is to identify where the gaps
in our tooling are.  If you feel strongly that you do not want to see
inactive changes, please tell me what query, dashboard, tool, page,
etc., that you use to find changes to review.  We can help make sure
that it is structured to filter out changes you are not interested in,
and helps surface changes you want to work on.

Thanks,

Jim



More information about the OpenStack-dev mailing list