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 >>>>> >>>>> >>> >>