Thanks for the history dive :)

> but not all the commits in 2.5.1 will go into 2.6.0, even if 2.6.0 is
released after 2.5.1.

I actually had the same thought after sending my last response. There might
also be bug fixes that only apply to 2.5.x. This, along with historical
convention, seems like a good reason to keep it based on the last minor
release. I'll update my auditing based on that and see if there's a doc
improvement I can do here at some point too.

On Tue, Jan 23, 2024 at 6:20 AM 张铎(Duo Zhang) <palomino...@gmail.com> wrote:

> I checked the history a bit...
>
> For 2.0.0, the previous version is 1.0.0...
>
> https://github.com/apache/hbase/blob/branch-2.0/CHANGES.md
>
> For 2.1.0 and 2.2.0, we do not include the previous version in the
> CHANGES.md, but you can pick some issues, usually it will have a 2.0.x
> or 2.1.x fix versions.
>
> And for 2.3.0
> https://github.com/apache/hbase/blob/branch-2.3/CHANGES.md
> We set 2.2.0 as the previous version.
>
> And for 2.4.0
> https://github.com/apache/hbase/blob/branch-2.4/CHANGES.md
> We set 2.3.0 as the previous version.
>
> And after consideration, I think why in the past we usually choose to
> based on .0 is reasonable, as we can make sure that all the commits to
> 2.5.0 will also go into 2.6.0, but not all the commits in 2.5.1 will
> go into 2.6.0, even if 2.6.0 is released after 2.5.1.
> For example, maybe we use different ways to fix something in
> branch-2.5 and branch-2.6, as 2.5 is a patch release you can not break
> things but on 2.6, you can do a cleaner fix.
>
> Thanks.
>
> Bryan Beaudreault <bbeaudrea...@apache.org> 于2024年1月23日周二 18:58写道:
> >
> > Thanks again for the back and forth here, both. It seems like there is no
> > single right solution, which in my opinion is not great. It’s
> > understandable though because historically it’s been hard to enforce a
> > standard.
> >
> > The release process is involved but largely automated. One piece not
> > automated yet is this fixVersion audit. Automating this part of the
> release
> > process could be the enforcement we need to keep a standard. We have much
> > of the foundation of such an automation in Nick’s python script, I could
> > supply the rest.
> >
> > It seems like we need to agree on which previous version to root a
> > changelog to. Personally I prefer the last minor release because that
> seems
> > most intuitive to a user. If we assume good “upgrade hygiene”, people are
> > more likely to be upgrading from some patch release than the last full
> > minor release, at least in the way hbase releases work today. If someone
> is
> > upgrading from an older release, they can more easily create a full
> > changelog for their upgrade by adding up the changelogs between their
> > current and target. If we root in the last minor release they have to do
> > more work to filter out changes they already have.
> >
> > Perhaps I should raise a VOTE or clean DISCUSS thread to reach consensus
> on
> > which approach to take. With that in hand, we can automate it.
> >
> > In terms of SFT/backports, I agree but lacking any enforcement I think we
> > probably mess this up often.
> > https://issues.apache.org/jira/browse/HBASE-26639 is an example where it
> > was directly cherry-picked so should have 2.5.0 fixVersion but doesn’t.
> Not
> > sure it’s worth fixing this now, but a script can easily detect it going
> > forward.
> >
> >
> > On Mon, Jan 22, 2024 at 11:15 PM Andrew Purtell <
> andrew.purt...@gmail.com>
> > wrote:
> >
> > > If you use 2.5.7 as the previous version of the 2.6.0 release then only
> > > the changes committed to branch-2.6 not also committed to branch-2.5 at
> > > time of release need a fixVersion of 2.6.0. This can be analyzed with a
> > > compare tool looking at the respective branches while ignoring any
> commits
> > > on branch-2.5 more recent than the 2.5.7 release. The git log is the
> source
> > > of truth not a JIRA fixVersion. So you’d be ignoring 2.5.8 or any stray
> > > nonsense implicitly.
> > >
> > > If you use 2.5.0 as the previous version for the 2.6.0 release as Duo
> > > suggests it’s pretty much the same analysis except the comparison must
> > > ignore any commits on branch-2.5 with a date newer than the 2.5.0
> release
> > > date. Larger change file. More work.
> > >
> > > Either option makes sense to me for different reasons.
> > >
> > > For SFT, or any other backport, if the backport was done with a simple
> > > cherry pick then the original JIRA id goes into the changes file. If
> it was
> > > done with a backport JIRA and modified or new commit message
> referencing
> > > said backport JIRA, then the id of the backport JIRA goes into the
> changes
> > > file. I think the result then will cause the least surprise.
> > >
> > > It has been so long I don’t recall why the 2.5.0 changes file is based
> on
> > > 2.2.0. Earlier in this thread I remembered this detail incorrectly.
> What I
> > > described is what I did for 2.4.0 (based on a 2.3 changes file), not
> 2.5.0.
> > > It looks like by the time we did 2.5.0 we were using the auto doc
> tooling.
> > >
> > > > On Jan 22, 2024, at 6:58 PM, 张铎 <palomino...@gmail.com> wrote:
> > > > It is based on how you construct the CHANGES.md.
> > > >
> > > > If in the CHANGES.md, your previous version is 2.5.0, then you should
> > > > include all the issues committed to branch-2.6 which are not included
> > > > in 2.5.0. If your previous version is 2.5.7, then you should include
> > > > the issues from 2.5.7.
> > > >
> > > > For me, I think the previous version for 2.6.0 should be 2.5.0.
> > > >
> > > > BTW,  the CHANGES.md for branch-2.5 seems a bit strange, the previous
> > > > version for 2.5.0 is 2.2.0...
> > > >
> > > > https://github.com/apache/hbase/blob/branch-2.5/CHANGES.md
> > > >
> > > > Bryan Beaudreault <bbeaudrea...@apache.org> 于2024年1月23日周二 07:54写道:
> > > >>
> > > >> Ok I can do that but I don’t think that’s quite what Andrew
> described,
> > > >> unless I misunderstood.
> > > >>
> > > >> On Mon, Jan 22, 2024 at 6:28 PM 张铎(Duo Zhang) <
> palomino...@gmail.com>
> > > wrote:
> > > >>
> > > >>> You should only remove 2.6.0 when fix versions = 2.5.0 :)
> > > >>> Bryan Beaudreault <bbeaudrea...@apache.org>于2024年1月23日 周二06:32写道:
> > > >>>> Andrew, I'd like to clarify something before I act --
> > > >>>> I have a script which has identified 300+ jiras where fixVersion
> is
> > > >>> 2.6.0,
> > > >>>> but the commit exists in branch-2.5. Most of those have a
> fixVersion <
> > > >>>> 2.5.8.  Here's a couple examples:
> > > >>>> - https://issues.apache.org/jira/browse/HBASE-28245 -- has 2.6.0
> and
> > > >>> 2.5.7
> > > >>>> - https://issues.apache.org/jira/browse/HBASE-27407 -- has 2.6.0
> and
> > > >>> 2.5.1
> > > >>>> For those, I plan to remove the 2.6.0 fixVersion. Correct?
> > > >>>> There are 22 of the above jiras whose 2.5.x fixVersion is 2.5.8,
> > > which is
> > > >>>> unreleased. For those, I should leave 2.6.0 fixVersion alone.
> Correct?
> > > >>>> Finally, I wonder how we should handle all of the many SFT jiras
> which
> > > >>> were
> > > >>>> backported to 2.5. For example:
> > > >>>> https://issues.apache.org/jira/browse/HBASE-26639. This jira
> exists
> > > in
> > > >>>> branch-2.5, but _does not_ have a 2.5.0 fixVersion and _does_
> have a
> > > >>> 2.6.0
> > > >>>> fixVersion. I wish those had been given a fixVersion of 2.5.x when
> > > they
> > > >>>> were cherry-picked. I presume I should leave these alone, but I
> don't
> > > >>> love
> > > >>>> the inconsistency of it. Since I plan to do all of these updates
> with
> > > a
> > > >>>> script if possible, I could potentially fix these.
> > > >>>> Thanks for the guidance.
> > > >>>> On Tue, Jan 16, 2024 at 12:54 PM Bryan Beaudreault <
> > > >>>> bbeaudrea...@apache.org>
> > > >>>> wrote:
> > > >>>>> Thank you both for the input. That's a good idea Andrew, I'll
> take a
> > > >>> stab
> > > >>>>> at it.
> > > >>>>> I have a script (based on Nick's git-jira-release-audit [1])
> which
> > > I'm
> > > >>>>> using to audit versions. I'll see if I can add this to that so
> we can
> > > >>>>> automate that cleanup for future .0 releases.
> > > >>>>> [1]
> > > >>>
> > >
> https://github.com/apache/hbase/tree/master/dev-support/git-jira-release-audit
> > > >>>>> On Sun, Jan 14, 2024 at 8:50 PM Andrew Purtell <
> > > >>> andrew.purt...@gmail.com
> > > >>>>> wrote:
> > > >>>>>> For 2.5.0 I based the change log on the change log of what was
> then
> > > >>> the
> > > >>>>>> last/most recent 2.4 release. Anything committed into 2.4 with
> a fix
> > > >>>>>> version of 2.5, I dropped the 2.5 fix version. The 2.5 fix
> version
> > > was
> > > >>>> kept
> > > >>>>>> for anything novel in 2.5. The result was an orderly cumulative
> > > change
> > > >>>> log.
> > > >>>>>> I also audited the commit history to make sure no change was
> > > committed
> > > >>>> to
> > > >>>>>> 2.4 and not 2.5. This took quite a bit of time. I do not think
> it
> > > can
> > > >>> be
> > > >>>>>> avoided but needs be done only for the .0 release.
> > > >>>>>>> On Jan 14, 2024, at 2:37 AM, 张铎 <palomino...@gmail.com> wrote:
> > > >>>>>>> Usually we will only set fix version if there is a commit.
> > > >>>>>>> The only exception is for some umbrella issues where we want
> to put
> > > >>> a
> > > >>>>>>> fat release note there, such as HBASE-26067.
> > > >>>>>>> This will introduce some difficulties to the RMs as it will
> cause
> > > >>>>>>> mismatches on the commit history and CHANGES.md. But anyway,
> you
> > > >>> need
> > > >>>>>>> to manually check the issue if it is missed in the commit
> history,
> > > >>> if
> > > >>>>>>> it is an umbrella issue like HBASE-26067, you can just ignore
> it.
> > > >>>>>>> Thanks.
> > > >>>>>>> Bryan Beaudreault <bbeaudrea...@apache.org> 于2024年1月14日周日
> 09:27写道:
> > > >>>>>>>> Hi Devs,
> > > >>>>>>>> I'm working on auditing the 2.6.0 fixVersion JIRAs in prep
> for the
> > > >>>>>> RC0. One
> > > >>>>>>>> thing I'm noticing is there are a couple umbrella JIRAs which
> have
> > > >>>>>>>> fixVersion of 2.6.0 but no corresponding commit in the branch.
> > > This
> > > >>>> is
> > > >>>>>>>> because all of the work was done in sub-tasks, and those
> sub-tasks
> > > >>>> are
> > > >>>>>> in
> > > >>>>>>>> the branch. Here's an example:
> > > >>>>>>>> https://issues.apache.org/jira/browse/HBASE-26067
> > > >>>>>>>> I'm curious how we want to handle this. On the one hand it
> seems
> > > >>> good
> > > >>>>>> to be
> > > >>>>>>>> able to 1-to-1 link JIRA fixVersion to commits in branches.
> On the
> > > >>>>>> other
> > > >>>>>>>> hand, umbrella are useful aggregators and can be nice for
> > > >>>> consolidating
> > > >>>>>>>> release notes.
> > > >>>>>>>> Maybe the audit tool I'm working with can just ignore
> umbrella, or
> > > >>>>>> maybe
> > > >>>>>>>> umbrella tasks should be handled in a feature branch and
> > > eventually
> > > >>>>>> merged
> > > >>>>>>>> in with the umbrella jira ID.
> > > >>>>>>>> Thoughts?
> > >
>

Reply via email to