Thank you for your response. Your response makes me realize that I should
have first asked whether other committers consider the amount of hotfix
commits problematic or not.
>From the number of responses to my message, I have the feeling that most
committers are not concerned.

I personally believe that the amount of hotfix commits is too high. There
have been a few cases of hotfixes committed recently that have been
commented by other committers, have been reverted quickly after or amended
in another hotfix. My hope is that a proper PR review would have caught
some of those cases.
Additionally, there's almost no papertrail around hotfixes.
Regular commits have a JIRA ticket, which usually has some problem
statement and ideally some discussion, and a pull request review.
Since we are using the Merge button in PRs quite frequently, we also don't
have the "This closes #12345" message in the commit anymore, which would at
least point to the review PR ... so when I'm checking the commit history, I
need to manually search the PR history as well, to see if there is more
context on a commit in a PR review or not. (Hence my minor vs hotfix
proposal)


I'm happy to leave things as-is for now. As long as there are still people
catching mistakes made in hotfix commits, I don't see a decline in quality.




On Tue, Feb 18, 2020 at 7:58 PM Till Rohrmann <trohrm...@apache.org> wrote:

> Thanks for raising this point Robert. I think it is important to remind the
> community about the agreed practices once in a while.
>
> In most of the cases I had the impression that the majority of the
> community sticks to the agreed rules. W/o more detailed numbers (how many
> of the hotfix commits are of category b) I think this discussion makes only
> limited sense. Moreover, what is the underlying problem you would like to
> solve here? Is it that too many commits have the hotfix tag in the commit
> log? Is it that it's hard to figure out with which PR a hotfix commit has
> been merged? Or did you observe a decline in Flink's quality because of too
> many unreviewed changes? If we are discussing the latter case, then I think
> it is very urgent. In the former cases I'm not entirely sure whether this
> is an immediate problem because from what I have seen people include many
> more clean up/hotfix commits in their PRs these days.
>
> Concerning the proposed practice with the [minor] tag I'm a bit torn. The
> benefit of not doing it like this is that it's easier to see which commits
> need to be cherry-picked if a feature needs to be ported, for example. On
> the other hand if the commits are not unrelated and the feature commits use
> parts of the hotfix commits, then it makes the cherry-picking more tricky
> and the commits should have the JIRA issue tag. But I would be fine with
> trying it out.
>
> Cheers,
> Till
>
> On Mon, Feb 17, 2020 at 3:56 PM Robert Metzger <rmetz...@apache.org>
> wrote:
>
> > Hi all,
> >
> > I would like to revive this very old thread on the topic of "unreviewed
> > hotfixes on master" again.
> > Out of the 35 commits listed on the latest commits page on GitHub, 18
> have
> > the tag "hotfix", on the next page it is 9, then 16, 17, ...
> > In the last 140 commits, 42% were hotfixes.
> >
> > For the sake of this discussion, let's distinguish between two types of
> > hotfixes:
> > a) *reviewed hotfix commits*: They have been reviewed through a pull
> > request, then committed to master.
> > b) *unreviewed hotfix commits*: These have been pushed straight to
> master,
> > without a review.
> >
> > It's quite difficult to find out whether a hotfix has been reviewed or
> not
> > (because many hotfix commits are reviewed & pushed as part of a PR), but
> > here are some recent examples of commits where I could not find evidence
> of
> > a pull request:
> >
> > // these could probably be combined into on JIRA ticket, as they affect
> the
> > same component + they touch dependencies
> > 47a1725ae14a772ba8590ee97dffd7fdf5bc04b2 [hotfix][docs][conf] Log
> included
> > packages / excluded classes
> > a5894677d95336a67d5539584b9204bcdd14fac5 [hotfix][docs][conf] Setup
> logging
> > for generator
> > 325927064542c2d018f9da33660c1cdf57e0e382 [hotfix][docs][conf] Add query
> > service port to port section
> > 3c696a34145e838c046805b36553a50ec9bfbda0 [hotfix][docs][conf] Add query
> > service port to port section
> >
> > // dependency change
> > 736ebc0b40abab88902ada3f564777c3ade03001 [hotfix][build] Remove various
> > unused test dependencies
> >
> > // more than a regeneration / typo / compile error change
> > 30b5f6173e688ea20b82226db6923db19dec29a5 [hotfix][tests] Adjust
> > FileUtilsTest.testDeleteSymbolicLinkDirectory() to handle unsupported
> > situations in Windows
> > fc59aa4ecc2a7170bfda14ffadf0a30aa2b793bf [FLINK-16065][core] Unignore
> > FileUtilsTest.testDeleteDirectoryConcurrently()
> >
> > // dependency changes
> > fe7145787a7f36b21aad748ffea4ee8ab03c02b7 [hotfix][build] Remove unused
> > akka-testkit dependencies
> > dd34b050e8e7bd4b03ad0870a432b1631e1c0e9d [hotfix][build] Remove unused
> > shaded-asm7 dependencies
> >
> > // dependency changes
> > 244d2db78307cd7dff1c60a664046adb6fe5c405 [hotfix][web][build] Cleanup
> > dependencies
> >
> > In my opinion, everything that is not a typo, a compile error (breaking
> the
> > master) or something generated (like parts of the docs) should go
> through a
> > quick pull request.
> > Why? I don't think many people review changes in the commit log in a way
> > they review pull request changes.
> >
> > In addition to that, I propose to prefix hotfixes that have been added as
> > part of a ticket with that ticket number.
> > So instead of "[hotfix] Harden kubernetes test", we do
> > "[FLINK-13978][minor]
> > Harden kubernetes test".
> > Why? For people checking the commit history, it is much easier to see if
> a
> > hotfix has been reviewed as part of a JIRA ticket review, or whether it
> is
> > a "hotpush" hotfix.
> >
> > For changes that are too small for a JIRA ticket, but need a review, I
> > propose to use the "[minor]" tag. A good example of such a change is
> this:
> >
> >
> https://github.com/apache/flink/commit/0dc4e767c9c48ac58430a59d05185f2b071f53f5
> >
> > My tagging minor changes accordingly in the pull requests, it is also
> > easier for fellow committers to quickly check them.
> >
> > Summary:
> > [FLINK-XXXX]: regular, reviewed change
> > [FLINK-XXXX][minor]: minor, unrelated changes reviewed with a regular
> > ticket
> > [minor]: minor, reviewed change
> > [hotfix]: unreviewed change that fixes a typo, compile error or something
> > generated
> >
> >
> > What's your opinion on this?
> >
> >
> > On Sat, May 28, 2016 at 1:36 PM Vasiliki Kalavri <
> > vasilikikala...@gmail.com>
> > wrote:
> >
> > > Hi all,
> > >
> > > in principle I agree with Max. I personally avoid hotfixes and always
> > open
> > > a PR, even for javadoc improvements.
> > >
> > > I believe the main problem is that we don't have a clear definition of
> > what
> > > constitutes a "hotfix". Ideally, even cosmetic changes and
> documentation
> > > should be reviewed; I've seen documentation added as a hotfix that had
> > > spelling mistakes, which led to another hotfix... Using hotfixes to do
> > > major refactoring or add features is absolutely unacceptable, in my
> view.
> > > On the other hand, with the current PR load it's not practical to ban
> > > hotfixes all together.
> > >
> > > I would suggest to update our contribution guidelines with some
> > definition
> > > of a hotfix. We could add a list of questions to ask before pushing
> one.
> > > e.g.:
> > > - does the change fix a spelling mistake in the docs? => hotfix
> > > - does the change add a missing javadoc? => hotfix
> > > - does the change improve a comment? => hotfix?
> > > - is the change a small refactoring in a code component you are
> > maintainer
> > > of? => hotfix
> > > - did you change code in a component you are not very familiar with /
> not
> > > the maintainer of? => open PR
> > > - is this major refactoring? (e.g. more than X lines of code) => open
> PR
> > > - does it fix a trivial bug? => open JIRA and PR
> > >
> > > and so on...
> > >
> > > What do you think?
> > >
> > > Cheers,
> > > -V.
> > >
> > > On 27 May 2016 at 17:40, Greg Hogan <c...@greghogan.com> wrote:
> > >
> > > > Max,
> > > >
> > > > I certainly agree that hotfixes are not ideal for large refactorings
> > and
> > > > new features. Some thoughts ...
> > > >
> > > > A hotfix should be maven verified, as should a rebased PR. Travis is
> > > often
> > > > backed up for half a day or more.
> > > >
> > > > Is our Jira and PR process sufficiently agile to handle these
> hotfixes?
> > > > Will committers simply include hotfixes with other PRs, and would it
> be
> > > > better to retain these as smaller, separate commits?
> > > >
> > > > For these cosmetic changes and small updates will the Jira and PR
> yield
> > > > beneficial documentation addition to what is provided in the commit
> > > > message?
> > > >
> > > > Counting hotfixes by contributor, the top of the list looks as I
> would
> > > > expect.
> > > >
> > > > Greg
> > > >
> > > > Note: this summary is rather naive and includes non-squashed hotfix
> > > commits
> > > > included in a PR
> > > > $ git shortlog --grep 'hotfix' -s -n release-0.9.0..
> > > >     94  Stephan Ewen
> > > >     42  Aljoscha Krettek
> > > >     20  Till Rohrmann
> > > >     16  Robert Metzger
> > > >     13  Ufuk Celebi
> > > >      9  Fabian Hueske
> > > >      9  Maximilian Michels
> > > >      6  Greg Hogan
> > > >      5  Stefano Baghino
> > > >      3  smarthi
> > > >      2  Andrea Sella
> > > >      2  Gyula Fora
> > > >      2  Jun Aoki
> > > >      2  Sachin Goel
> > > >      2  mjsax
> > > >      2  zentol
> > > >      1  Alexander Alexandrov
> > > >      1  Gabor Gevay
> > > >      1  Prez Cannady
> > > >      1  Steve Cosenza
> > > >      1  Suminda Dharmasena
> > > >      1  chengxiang li
> > > >      1  jaoki
> > > >      1  kl0u
> > > >      1  qingmeng.wyh
> > > >      1  sksamuel
> > > >      1  vasia
> > > >
> > > > On Fri, May 27, 2016 at 6:10 AM, Maximilian Michels <m...@apache.org>
> > > > wrote:
> > > >
> > > > > Hi Flinksters,
> > > > >
> > > > > I'd like to address an issue that has been concerning me for a
> while.
> > > > > In the Flink community we like to push "hotfixes" to the master.
> > > > > Hotfixes come in various shapes: From very small cosmetic changes
> > > > > (JavaDoc) to major refactoring and even new features.
> > > > >
> > > > > IMHO we should move away from these hotfixes. Here's why:
> > > > >
> > > > > 1) They tend to break the master because they lack test coverage
> > > > > 2) They are usually not communicated with the maintainer or person
> > > > > working on the part being fixed
> > > > > 3) They are not properly documented for future reference or
> > follow-ups
> > > > > (JIRA/Github)
> > > > >
> > > > > That's why I have chosen not to push hotfixes anymore. Even for
> small
> > > > > fixes, I'll open a JIRA/Github issue. The only exception might be
> > > > > fixing a comment. It improves communication, documentation, and
> test
> > > > > coverage. All this helps to mature Flink and develop the community
> in
> > > > > a transparent way.
> > > > >
> > > > > I'm not sure what our contribution guidelines say about this but I
> > > > > would like to update them to explicitly address hotfixes. Let me
> know
> > > > > what you think.
> > > > >
> > > > > Best,
> > > > > Max
> > > > >
> > > >
> > >
> >
>

Reply via email to