Hi, Jiunn-Yang,

Thanks for the reply.

Do we really need isEmptyAllowed? It's awkward since the method name is
inNonEmpty. Also, it's not clear when it's set to true.

Thanks,

Jun

On Fri, Apr 25, 2025 at 6:26 AM 黃竣陽 <s7133...@gmail.com> wrote:

> Hi Jun,
>
> Thank you for pointing that out.
>
> I have revised the KIP as follows:
>
> “In this case, the change does not introduce new invalid configurations or
> prevent any currently valid setup.
> The main behavioral difference is that we now explicitly throw a
> ConfigException  during the storage format validation phase
> instead of relying on the current behavior.”
>
> This reflects the correct behavior.
>
> Best Regards,
> Jiunn-Yang
>
> > Jun Rao <j...@confluent.io.INVALID> 於 2025年4月25日 凌晨1:17 寫道:
> >
> > Hi, Jiunn-Yang,
> >
> > "The main behavioral difference introduced by this change is that a
> > ConfigException  will now be thrown during the storage format validation
> > phase, rather than during server startup."
> >
> > It seems that currently formating the storage already fails if
> > group.coordinator.rebalance.protocols and process.roles  are empty. It
> just
> > gets a different exception.
> >
> > Thanks,
> >
> > Jun
> >
> > On Thu, Apr 24, 2025 at 5:32 AM 黃竣陽 <s7133...@gmail.com> wrote:
> >
> >> Hi Jun, chia,
> >>
> >> Thanks for your feedback.
> >>
> >> I add a new section for this change:
> >>
> >> - Validation for group.coordinator.rebalance.protocols and process.roles
> >> will be
> >> moved from the server startup phase to the storage format phase.
> >> - For cleanup.policy, setting an empty list will now be considered
> invalid
> >> and will
> >> result in a ConfigException during storage format phase.
> >>
> >> Best Regards,
> >> Jiunn-Yang
> >>
> >>> Jun Rao <j...@confluent.io.INVALID> 於 2025年4月24日 凌晨4:44 寫道:
> >>>
> >>> Hi, Jiunn-Yang,
> >>>
> >>> Thanks for the reply.
> >>>
> >>> Q2. It's true that group.coordinator.rebalance.protocols and
> >> process.roles
> >>> configurations can't be empty right now. With this KIP, the user will
> >>> probably get a different (and more accurate) exception. It will be
> useful
> >>> to document that.
> >>>
> >>> Regarding cleanup.policy, I kind of agree with Chia-Ping. If a user
> >> leaves
> >>> cleanup.policy empty, it's more likely to be a mistake than an
> intention.
> >>> If we automatically treat it as None, the user will never realize the
> >>> mistake. Throwing an exception will let the user realize there is a
> >> mistake.
> >>>
> >>> Jun
> >>>
> >>> On Wed, Apr 23, 2025 at 8:26 AM Chia-Ping Tsai <chia7...@gmail.com>
> >> wrote:
> >>>
> >>>> hi Jiunn-Yang,
> >>>>
> >>>> Thanks for the KIP, and I understand that maintaining compatibility is
> >>>> important.
> >>>>
> >>>> However, according to the documentation, we don't allow an empty value
> >> for
> >>>> the cleanup.policy. Hence, should we consider throwing an exception
> for
> >> an
> >>>> empty value in version 4.x? This could streamline the code and avoid
> an
> >>>> extra deprecation cycle.
> >>>>
> >>>> Best,
> >>>> Chia-Ping
> >>>>
> >>>> Jun Rao <j...@confluent.io.invalid> 於 2025年4月23日 週三 上午6:33寫道:
> >>>>
> >>>>> Hi, Jiunn-Yang,
> >>>>>
> >>>>> Regarding "The none policy will not delete or compact any segments",
> we
> >>>>> should be more accurate. We won't delete segments based on
> >>>>> log.retention.bytes/log.retention.ms, but we should continue to
> delete
> >>>>> segments based on log.local.retention.bytes/log.retention.ms.
> >> Otherwise,
> >>>>> we
> >>>>> risk running out of local disk space when remote storage is enabled.
> >>>>>
> >>>>> Thanks,
> >>>>>
> >>>>> Jun
> >>>>>
> >>>>> On Tue, Apr 22, 2025 at 9:45 AM Jun Rao <j...@confluent.io> wrote:
> >>>>>
> >>>>>> Hi, Jiunn-Yang,
> >>>>>>
> >>>>>> Thanks for the reply.
> >>>>>>
> >>>>>> Q2. What about existing empty values for
> >>>>>> group.coordinator.rebalance.protocols and process.roles during
> >> upgrade?
> >>>>>>
> >>>>>> Jun
> >>>>>>
> >>>>>> On Tue, Apr 22, 2025 at 7:29 AM 黃竣陽 <s7133...@gmail.com> wrote:
> >>>>>>
> >>>>>>> Hello Jun,
> >>>>>>>
> >>>>>>> Thanks for review this KIP.
> >>>>>>>
> >>>>>>> Q1 & Q3:
> >>>>>>> I’ve updated the method name accordingly and revised the
> >>>> cleanup.policy
> >>>>>>> documentation
> >>>>>>> to clarify that the none policy cannot be used with any other
> policy.
> >>>>>>>
> >>>>>>> Q2:
> >>>>>>> For users currently using an empty cleanup.policy, the approach is
> to
> >>>>>>> apply the none policy
> >>>>>>> during the preProcessParsedConfig step. Additionally, a warning
> >>>> message
> >>>>>>> will be emitted to inform users
> >>>>>>> of the upcoming change.
> >>>>>>>
> >>>>>>> Best Regards,
> >>>>>>> Jiunn-Yang
> >>>>>>>
> >>>>>>>> Jun Rao <j...@confluent.io.INVALID> 於 2025年4月22日 凌晨4:52 寫道:
> >>>>>>>>
> >>>>>>>> Hi, Jiunn-Yang,
> >>>>>>>>
> >>>>>>>> Thanks for the KIP. A few comments.
> >>>>>>>>
> >>>>>>>> 1. It's fine to introduce a new value None for cleanup.policy. But
> >>>> now
> >>>>>>> not
> >>>>>>>> all value combinations are valid. For example, None can't be used
> >>>> with
> >>>>>>>> Delete or Compact. It would be useful to document that.
> >>>>>>>> 2. What's the behavior during upgrade when an existing config has
> an
> >>>>>>> empty
> >>>>>>>> list.
> >>>>>>>> 3. inWithEmptyCheck: It's not clear what the empty check does. How
> >>>>> about
> >>>>>>>> sth like inNonEmpty ?
> >>>>>>>>
> >>>>>>>> Thanks,
> >>>>>>>>
> >>>>>>>> Jun
> >>>>>>>>
> >>>>>>>> On Tue, Apr 15, 2025 at 8:25 AM 黃竣陽 <s7133...@gmail.com> wrote:
> >>>>>>>>
> >>>>>>>>> Hello everyone,
> >>>>>>>>>
> >>>>>>>>> I would like to start a discussion on KIP-1161: cleanup.policy
> >>>>>>> shouldn't
> >>>>>>>>> be empty
> >>>>>>>>> <https://cwiki.apache.org/confluence/x/HArXF>
> >>>>>>>>>
> >>>>>>>>> This proposal aims to improve the cleanup.policy configuration.
> >>>>>>> Currently,
> >>>>>>>>> this setting should not be left empty.
> >>>>>>>>> Therefore, there are two proposed improvements:
> >>>>>>>>> 1. Update ValidList to validate whether an empty list is allowed.
> >>>>>>>>> 2. Introduce a new 'none' value for cleanup.policy.
> >>>>>>>>>
> >>>>>>>>> Best Regards,
> >>>>>>>>> Jiunn-Yang
> >>>>>>>
> >>>>>>>
> >>>>>
> >>>>
> >>
> >>
>
>

Reply via email to