Our of curiosity, how other major Apache project do this? Like spark, nifi
or airflow?

Le lun. 25 avr. 2022 à 22:09, István Fajth <fapi...@gmail.com> a écrit :

> Hi,
> I was inspired with the latest discussions around compatibility guarantees,
> and cutting a release to bring up a question about how we develop new
> features....
>
> Currently we are using feature branches to start developing large new
> features.
> We see the drawbacks of this with long running developments like EC or FSO,
> where the burden of keeping the feature branch up-to-date, and switching
> between the feature branch and master is a hassle due to divergence between
> protocols (with that the need for rebuild every time when switching from
> the feature branch to master and vice versa), hard to solve merge
> conflicts, testing problems, and so on... This leads to possibly early
> merges, which then are able to block us from cutting a release at a time we
> would want to do a release as there are some remainings to solve before
> cutting a release due to the merged feature.
>
> I am sure there is a burden as well with master based development, where we
> would need techniques to be implemented in order to have features that we
> can enable at will (via feature toggle for example), but wouldn't it be
> worth the effort?
> I see problems with this as well, like how to hide something behind a
> toggle effectively, especially when it has to change one small thing in a
> large complex algorithm... Also I see problems around enabling things on
> the client and server side together, maybe causing  extra work on
> compatibility problems that are coming from on disk, or in rocksdb data
> changes for example...
>
> But... What we would gain is the ability to cut off a release anytime with
> features half done, but turned off, with features that we can turn off
> permanently in a release in a static way in the code or in case of beta
> quality via a configuration...
>
> Maybe this is not the right time to switch, we may have exceptions in the
> future as well, due to the complexity of adding a feature toggle for a
> given feature, but in general there have to be ways/there have to be
> features with which we can start using some techniques and later on mandate
> the existence of a feature toggle for every new feature... Would that be a
> better word for us?
>
> --
> Pifta
>

Reply via email to