Hi Kirti,
Thanx for the initiative. This sounds very interesting, but I doubt if it
is that easy to incorporate. Sharing my thoughts:

   - Regarding "Unpredictable" : I don't think we are like doing very
   unpredictable releases. It should be a formal mail, like Release x.y.z and
   then the RM usually shares a potential Branch freeze date, then a
   margin number of days for blockers or critical tickets. And this entire
   process would be around a minimum of 1 month and usually will go around 3
   months.
   - Regarding "Regressions": Quicker releases doesn't certainly mean more
   stable releases.
   - Regarding half-baked features: We are mostly developing on master
   branch, we don't have a concept of feature branch(a lot of projects have
   that), So, if a bunch of features are running in parallel by different set
   of people, with a "fixed" date it is practically impossible to achieve,
   this thing needs to be negotiated b/w all of them.
   - Even if we pin a date, that ain't sufficient, we need volunteers who
   can take up the RM role, If we proceed with this we should decide the RM as
   well beforehand.
   - This timeline thing can get screwed up in case you hit a security
   issue: AFAIK you can't announce a CVE unless you have a release on all
   active release lines with the fix. So, in that case this schedule will get
   messed up and the RM, the dates would require to be renegotiated.
   - Sometimes you need to release early because a downstream project needs
   a fix, which blocks their way to upgrade Hive. Standard practice, almost
   All apache projects are concerned about each other and help others in
   upgrading, so in that case I am not sure holding them for a fixed date is
   cool or not
   - Mostly what I have observed, A release takes place when we have enough
   tickets to release, We don't want to just keep on releasing with just 20-25
   fixes, nor we want to push straight 800-900 fixes in one go. The number of
   fixes, the nature of fixes all should be taken in account while planning
   the release date.


In general: Good Idea, We should definitely encourage more frequent
releases, having a "strict" date or not is debatable.

-Ayush

On Sun, 12 Mar 2023 at 19:44, Kirti Ruge <kirtirug...@gmail.com> wrote:

> Hello HIVE Dev,
>
> I would like to discuss/propose incremental and cadence predictable
> process for HIVE releases.
>
> https://hive.apache.org/general/downloads/
>
> Currently, our releases have a very random span in between, and those have
> sometimes caused problems like-
>
> 1. All downstream and end users have unpredictable schedules because of
> upstream.
> 2. More chances of regression issues when there is an unplanned release
> date. As developers and release managers have to rush, this prevents us
> from focusing on having a proper regression-free release.
>
> I would like to propose a branch cut twice a year to have two strict
> releases yearly. It would make release cadence predictable for end users
> and bring some disciplinary schedules for all users, including downstream
> projects.
>
> Advantages of this approach-
>
> 1. If we pin a branch cut date, features can be prioritized better so that
> no half-baked stuff goes into release.
> 2. Such Incremental release will help in better regression and reduce the
> burden from release management activity( result is reduced issues and
> problems with quality). It will eventually help to streamline release
> management activity.
>
>
> Let me know your thoughts.
>
> Thanks,
> Kirti

Reply via email to