Hi all,

It's been already 4 months since the release of Hive 4.0.0 and master is 
already 163 ahead. Based on the initial discussion we would like to cut a 
release from master every 3-4 months and it seems that we are already behind 
schedule.

Instead of focusing on releasing from master we opted to do a smaller release 
from branch-4.0 (4.0.1) which so far has accumulated 28 commits. The original 
idea was this to be a quick release but as it turns out things keep 
accumulating so the argument of having few and small fixes that are easy to 
test fades away.

I will resurface the suggestion that I brought up in the past about cutting 
releases only from the master branch and I would like to propose  the following 
high-level model.

* Commit and release always from master.
* Release regularly (every ~3months).
* Follow semantic versioning (major.minor.patch); by default we bump minor 
digit.
* Finalize version digit bump based on the content when preparing the release 
candidate.
* Strive to minimize major version bumps by guarding risky/breaking changes 
using configuration flags (we are already doing this more or less).
* Stop maintenance releases; every new release subsumes the previous one.

The above are not set in stone and we can iterate on it till we have something 
that makes everyone happy. 

I am proposing this model mainly for two reasons:
* increase release cadence;
* reduce maintenance burden for the community.

Looking forward to your thoughts.

Best,
Stamatis

On 2024/04/18 12:33:48 Denys Kuzmenko wrote:
> The idea is to cherry-pick individual bug fixes/improvements that could be 
> easily tested to avoid a complete release test cycle (TPC-DS performance 
> suite, multi-db tests, etc)
> 
> On 2024/04/18 11:22:09 Stamatis Zampetakis wrote:
> > There are also many projects that never create minor version releases;
> > it's up to each project to decide what fits best on each occasion.
> > 
> > I am not against minor releases nor suggest that this should be the
> > way to go for every release from now onwards. I am just saying that at
> > this point in time I don't see a big benefit to release from side
> > branches.
> > 
> > Again the motivation for releasing early and often from master is that
> > it has less maintenance overhead for the community and the end-users
> > can benefit from all improvements as soon as possible. Certainly if we
> > introduce breaking changes and big risky features this approach cannot
> > work.
> > 
> > Anyways, I am glad that we are having this discussion and it's also
> > very positive that we are talking about a new release in less than a
> > month since 4.0.0 came out. No matter if it is 4.0.1 or 4.1.0 I am
> > fully onboard and happy to help as much as I can :)
> > 
> > Best,
> > Stamatis
> > 
> > On Thu, Apr 18, 2024 at 11:53 AM Denys Kuzmenko <dkuzme...@apache.org> 
> > wrote:
> > >
> > > Hi Stamatis,
> > >
> > > That is the standard practice to create minor version release for 
> > > bugfixes. Many upstream projects follow that same strategy, check Iceberg 
> > > for example.
> > >
> > > Regards,
> > > Denys
> > >
> > > On 2024/04/18 07:49:59 Stamatis Zampetakis wrote:
> > > > The 4.0.0 release was quite recent so I assume we don't have major
> > > > breaking changes in there at the moment so we could cut the release
> > > > directly from master as soon as we want. HIVE-28166 is already merged
> > > > so we could aim to cut 4.1.0 as soon as HIVE-28190 goes in.
> > > >
> > > > The experience shows that we are not very good at maintaining multiple
> > > > release branches so in general I would prefer to focus on releasing
> > > > only from master for the time being. Hive is a quite mature project so
> > > > in principle breaking changes should be rather rare which gives us a
> > > > bit of margin. I think a scheme where we backport less and release
> > > > more is preferable.
> > > >
> > > > Best,
> > > > Stamatis
> > > >
> > > > On Wed, Apr 17, 2024 at 9:56 AM Ayush Saxena <ayush...@gmail.com> wrote:
> > > > >
> > > > > Hi Stamatis,
> > > > > The plan is to have a release line cut from the branch-4.0, So, we 
> > > > > plan to pull in some critical bug fixes & improvements into the 4.0.1 
> > > > > release and have a quicker release.
> > > > > As of now we are just putting the label "hive-4.0.1-must" on the 
> > > > > tickets and we plan to make sure those get c-picked to the release 
> > > > > line. AFAIK we haven't started committing to any branch yet, was 
> > > > > waiting if anyone feels differently, so we can hold back if you have 
> > > > > concerns or take a different approach as well.
> > > > >
> > > > > From CI you mean to say the daily builds? else if you create a PR 
> > > > > targeting to branch-4.0, it will run the entire test suite I believe? 
> > > > > In the meantime I will update the instructions regarding the target 
> > > > > branch & the label if anyone wants that a particular ticket to be 
> > > > > part of the 4.0.1 release.
> > > > >
> > > > > -Ayush
> > > > >
> > > > > On Wed, 17 Apr 2024 at 12:42, Stamatis Zampetakis <zabe...@gmail.com> 
> > > > > wrote:
> > > > >>
> > > > >> Thanks for starting the discussion Ayush.
> > > > >>
> > > > >> Having frequent releases is definitely needed so we should keep the
> > > > >> momentum going.
> > > > >>
> > > > >> I had the impression from other threads that the next Hive release
> > > > >> would be 4.1.0 and that it would be cut from master. I would like to
> > > > >> understand how 4.0.1 is different and if it is, what is the
> > > > >> contribution pattern that contributors and committers should follow?
> > > > >> If the idea is to maintain and commit in two (or more) branches the
> > > > >> steps should be documented and CI should be running on those 
> > > > >> branches.
> > > > >>
> > > > >> Best,
> > > > >> Stamatis
> > > > >>
> > > > >> On Wed, Apr 10, 2024 at 1:18 PM Denys Kuzmenko 
> > > > >> <dkuzme...@apache.org> wrote:
> > > > >> >
> > > > >> > We might need it sooner as identified some critical issues in the 
> > > > >> > recent code:
> > > > >> > 1. HIVE-28166: Truncate on Iceberg table disregards the branch 
> > > > >> > name and operates on a main;
> > > > >> > 2. HIVE-28190: Materialized view rebuild lock heart-beating is 
> > > > >> > broken;
> > > >
> > 
> 

Reply via email to