Those are great suggestions, thank you. We will continue this discussion forward in a separate KIP for release plan for Tiered Storage.
On Thu 27. Jul 2023 at 21:46, Ismael Juma <m...@ismaeljuma.com> wrote: > Hi Divij, > > I think the points you bring up for discussion are all good. My main > feedback is that they should be discussed in the context of KIPs vs the > release template. That's why we have a backwards compatibility section for > every KIP, it's precisely to ensure we think carefully about some of the > points you're bringing up. When it comes to defining the meaning of early > access, we have two options: > > 1. Have a KIP specifically for tiered storage. > 2. Have a KIP to define general guidelines for what early access means. > > Does this make sense? > > Ismael > > On Thu, Jul 27, 2023 at 6:38 PM Divij Vaidya <divijvaidy...@gmail.com> > wrote: > > > Thank you for the response, Ismael. > > > > 1. Specifically in context of 3.6, I wanted this compatibility > > guarantee point to encourage a discussion on > > > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-952%3A+Regenerate+segment-aligned+producer+snapshots+when+upgrading+to+a+Kafka+version+supporting+Tiered+Storage > > . > > Due to lack of producer snapshots in <2.8 versions, a customer may not > > be able to upgrade to 3.6 and use TS on a topic which was created when > > the cluster was on <2.8 version (see motivation for details). We can > > discuss and agree that it does not break compatibility, which is fine. > > But I want to ensure that we have a discussion soon on this to reach a > > conclusion. > > > > 2. I will start a KIP on this for further discussion. > > > > 3. In the context of 3.6, this would mean that there should be > > no-regression, if a user does "not" turn-on remote storage (early > > access feature) at a cluster level. We have some known cases (such as > > https://issues.apache.org/jira/browse/KAFKA-15189) which violate this > > compatibility requirement. Having this guarantee mentioned in the > > release plan will ensure that we are all in agreement with which cases > > are truly blockers and which aren't. > > > > 4. Fair, instead of a general goal, let me put it specifically in the > > context of 3.6. Let me know if this is not the right forum for this > > discussion. > > Once a user "turns on" tiered storage (TS) at a cluster level, I am > > proposing that they should have the ability to turn it off as well at > > a cluster level. Since this is a topic level feature, folks may not > > spin up a separate cluster to try this feature, hence, we need to > > ensure that we provide them with the ability to try tiered storage for > > a topic which could be deleted and featured turned-off, so that rest > > of the production cases are not impacted. > > > > 5. Agree on not making public interface change as a requirement but we > > should define what "early access" means in that case. Users may not be > > aware that "early access" public APIs may change (unless I am missing > > some documentation somewhere completely, in which case I apologize for > > bringing this naive point). > > > > -- > > Divij Vaidya > > > > On Thu, Jul 27, 2023 at 2:27 PM Ismael Juma <m...@ismaeljuma.com> wrote: > > > > > > Hi Divij, > > > > > > Some of these are launch checklist items (not really goals) and some > are > > > compatibility guarantees. More below. > > > > > > On Thu, Jul 27, 2023, 12:10 PM Divij Vaidya <divijvaidy...@gmail.com> > > wrote: > > > > > > > Hey Satish > > > > > > > > Could we consider adding "launch goals" in the release plan. While > > > > some of these may be implicit, it would be nice to list them down in > > > > the release plan. For this release, our launch requirements would be: > > > > 1. Users should be able to upgrade from any prior Kafka version to > this > > > > version. > > > > > > > > > > This is part of the compatibility guarantees. The upgrade notes mention > > > this already. If there is a change in a given release, it should > > definitely > > > be highlighted. > > > > > > 2. On release, this version (or it's dependencies) would not have any > > > > known MEDIUM/HIGH CVE. > > > > > > > > > > This is a new policy and the details should be discussed. In > particular, > > > the threshold (medium or high). > > > > > > 3. Presence of any "early access"/"beta" feature should not impact > > > > other production features when it is not enabled. > > > > > > > > > > This is a general guideline for early access features and not specific > to > > > this release. It would be good to have a page that talks about these > > things. > > > > > > 4. Once enabled, users should have an option to disable any "early > > > > access"/"beta" feature and resume normal production features, i.e. > > > > impact of beta features should be reversible. > > > > > > > > > > This needs discussion and I don't think it's reasonable as a general > > rule. > > > For example, Kraft early access wasn't reversible and it was not > feasible > > > for it to be. > > > > > > 5. KIP-405 will be available in "early access"/"beta" mode. Early > > > > access/beta means that the public facing interfaces won't change in > > > > future but the implementation is not recommended to be used in > > > > production. > > > > > > > > > I don't think it's ok to make this a requirement. Early access is a way > > to > > > get early feedback and all types of changes should be on the table. > They > > > would be discussed via KIPs as usual. I believe there were some > > > incompatible changes for Kraft during the early access period although > > the > > > team aimed to minimize work required during upgrades. I have mentioned > > > Kraft a couple of times since it's a good example of a large feature > that > > > went through this process. > > > > > > Ismael > > > -- Divij Vaidya