Thanks Rajini. Sounds good. Ismael
On Wed, Jan 10, 2018 at 11:41 AM, Rajini Sivaram <rajinisiva...@gmail.com> wrote: > Hi Ismael, > > I have updated the KIP to use AES-256 if available and AES-128 otherwise > for password encryption. Looking at GCM, it looks like GCM is typically > used with a variable initialization vector, while we are using a random, > but constant IV per-password. Also, AES/GCM is not supported by Java7. > Since the authentication and performance benefits of GCM are not required > for this scenario, I am thinking I will leave the default as CBC, but make > sure we test GCM as well so that users have the choice. > > On Wed, Jan 10, 2018 at 1:01 AM, Colin McCabe <cmcc...@apache.org> wrote: > > > Thanks, Rajini. That makes sense. > > > > regards, > > Colin > > > > On Tue, Jan 9, 2018, at 14:38, Rajini Sivaram wrote: > > > Hi Colin, > > > > > > Thank you for reviewing. > > > > > > Yes, validation is done on the broker, not the client. > > > > > > All configs from ZooKeeper are processed and any config that could not > be > > > applied are logged as warnings. This includes any configs that are not > > > dynamic in the broker version or any configs that are not supported in > > the > > > broker version. If you downgrade to a version that is older than this > KIP > > > (1.0 for example), then you don't get any warnings however. > > > > > > > > > On Tue, Jan 9, 2018 at 9:38 PM, Colin McCabe <cmcc...@apache.org> > wrote: > > > > > > > On Mon, Dec 18, 2017, at 13:40, Jason Gustafson wrote: > > > > > Hi Rajini, > > > > > > > > > > Looking good. Just a few questions. > > > > > > > > > > 1. (Related to Jay's comment) Is the validate() method on > > Reconfigurable > > > > > necessary? I would have thought we'd validate using the ConfigDef. > > Do you > > > > > have a use case in mind in which the reconfigurable component only > > > > permits > > > > > certain reconfigurations? > > > > > > > > Hi, > > > > > > > > Sorry if this is a dumb question, but when we talk about validating > on > > the > > > > ConfigDef, we're talking about validating on the server side, right? > > The > > > > software on the client side might be older or newer than the software > > on > > > > the broker side, so it seems inadvisable to do the validation there. > > > > > > > > Also, after a software downgrade, when the broker is restarted, it > > might > > > > find that there is a configuration key that is stored in ZK that is > not > > > > dynamic in its (older) software version. It seems like, with the > > current > > > > proposal, the broker will use the value found in the local > > configuration > > > > (config file) rather than the new ZK version. Should the broker > print > > out > > > > a WARN message in that scenario? > > > > > > > > best, > > > > Colin > > > > > > > > > 2. Should Reconfigurable extend Configurable or is the initial > > > > > configuration also done through reconfigure()? I ask because not > all > > > > > plugins interfaces currently extend Configurable (e.g. > > > > > KafkaPrincipalBuilder). > > > > > 3. You mentioned a couple changes to DescribeConfigsOptions and > > > > > DescribeConfigsResult. Perhaps we should list the changes > > explicitly? One > > > > > not totally obvious case is what the synonyms() getter would return > > if > > > > the > > > > > option is not specified (i.e. should it raise an exception or > return > > an > > > > > empty list?). > > > > > 4. Config entries in the DescribeConfigs response have an > is_default > > > > flag. > > > > > Could that be replaced with the more general config_source? > > > > > 5. Bit of an internal question, but how do you handle config > > > > dependencies? > > > > > For example, suppose I want to add a listener and configure its > > principal > > > > > builder at once. You'd have to validate the principal builder > config > > in > > > > the > > > > > context of the listener config, so I guess the order of the entries > > in > > > > > AlterConfigs is significant? > > > > > 6. KIP-48 (delegation tokens) gives us a master secret which is > > shared by > > > > > all brokers. Do you think we would make this dynamically > > configurable? > > > > > Alternatively, it might be possible to use it to encrypt the other > > > > > passwords we store in zookeeper. > > > > > > > > > > Thanks, > > > > > Jason > > > > > > > > > > > > > > > > > > > > On Mon, Dec 18, 2017 at 10:16 AM, Rajini Sivaram < > > > > rajinisiva...@gmail.com> > > > > > wrote: > > > > > > > > > > > Hi Jay, > > > > > > > > > > > > Thank you for reviewing the KIP. > > > > > > > > > > > > 1) Yes, makes sense. I will update the PR. There are some config > > > > updates > > > > > > that may be allowed depending on the context (e.g. some security > > > > configs > > > > > > can be updated for new listeners, but not existing listeners). > > Perhaps > > > > it > > > > > > is ok to mark them dynamic in the documentation. AdminClient > would > > give > > > > > > appropriate error messages if the update is not allowed. > > > > > > 2) Internally, in the implementation, a mixture of direct config > > > > updates > > > > > > (e.g log config as you have pointed out) and reconfigure method > > > > invocations > > > > > > (e.g. SslFactory) are used. For configurable plugins (e.g. > metrics > > > > > > reporter), we require the Reconfigurable interface to ensure that > > we > > > > can > > > > > > validate any custom configs and avoid reconfiguration for plugin > > > > versions > > > > > > that don't support it. > > > > > > > > > > > > > > > > > > On Mon, Dec 18, 2017 at 5:49 PM, Jay Kreps <j...@confluent.io> > > wrote: > > > > > > > > > > > > > Two thoughts on implementation (shouldn't effect the KIP): > > > > > > > > > > > > > > 1. It might be nice to add a parameter to ConfigDef which > says > > > > > > whether a > > > > > > > configuration is dynamically updatable or not so that we can > > give > > > > > > error > > > > > > > messages if it isn't and also have it reflected in the > > > > auto-generated > > > > > > > docs. > > > > > > > 2. For many systems they don't really need to take action > if a > > > > config > > > > > > > changes, they just need to use the new value. Changing them > > all to > > > > > > > Reconfigurable requires managing a fair amount of mutability > > in > > > > each > > > > > > > class > > > > > > > that accepts changes. Some need this since they need to take > > > > actions > > > > > > > when a > > > > > > > config changes, but it seems like many just need to update > > some > > > > value. > > > > > > > For > > > > > > > the later you might just be able to do something like what > we > > do > > > > for > > > > > > > LogConfig where there is a single CurrentConfig instance > that > > has > > > > a > > > > > > > reference to the current KafkaConfig and always reference > your > > > > > > > configurable > > > > > > > parameters via this (e.g. config.current.myConfig). Dunno if > > that > > > > is > > > > > > > actually better, but thought I'd throw it out there. > > > > > > > > > > > > > > -Jay > > > > > > > > > > > > > > On Sun, Dec 10, 2017 at 8:09 AM, Rajini Sivaram < > > > > rajinisiva...@gmail.com > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > Hi Jun, > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > > > > > > > 5. Yes, that makes sense. Agree that we don't want to add > > protocol > > > > > > > changes > > > > > > > > to *UpdateMetadataRequest* in this KIP. I have moved the > > update of > > > > > > > > *log.message.format.version* and *inter.broker.protocol. > > version* > > > > to > > > > > > > reduce > > > > > > > > restarts during upgrade to* Future Work*. We can do this in a > > > > follow-on > > > > > > > > KIP. > > > > > > > > > > > > > > > > I will wait for another day to see if there are any more > > comments > > > > and > > > > > > > start > > > > > > > > vote on Tuesday if there are no other concerns. > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Dec 9, 2017 at 12:22 AM, Jun Rao <j...@confluent.io> > > wrote: > > > > > > > > > > > > > > > > > Hi, Rajini, > > > > > > > > > > > > > > > > > > Thanks for the reply. They all make sense. > > > > > > > > > > > > > > > > > > 5. Got it. Note that currently, only live brokers are > > registered > > > > in > > > > > > ZK. > > > > > > > > > Another thing is that I am not sure that we want every > > broker to > > > > read > > > > > > > all > > > > > > > > > broker registrations directly from ZK. It's probably better > > to > > > > have > > > > > > the > > > > > > > > > controller propagate this information. That will require > > > > changing the > > > > > > > > > UpdateMetadataRequest protocol though. So, I am not sure if > > you > > > > want > > > > > > to > > > > > > > > do > > > > > > > > > that in the same KIP. > > > > > > > > > > > > > > > > > > Jun > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Fri, Dec 8, 2017 at 6:07 AM, Rajini Sivaram < > > > > > > > rajinisiva...@gmail.com> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > Hi Jun, > > > > > > > > > > > > > > > > > > > > Thank you for the review. > > > > > > > > > > > > > > > > > > > > 1. No, I am hoping to migrate partitions to new threads. > We > > > > just > > > > > > need > > > > > > > > to > > > > > > > > > > ensure they don't run concurrently. > > > > > > > > > > > > > > > > > > > > 2. AdminClient has a validateOnly option for > AlterConfigs. > > Any > > > > > > > > exceptions > > > > > > > > > > or return value of false from Reconfigurable#validate > would > > > > fail > > > > > > the > > > > > > > > > > AlterConfigsRequest. > > > > > > > > > > > > > > > > > > > > 3. Yes, we will support describe and alter of configs > with > > > > listener > > > > > > > > > prefix. > > > > > > > > > > We will not allow alterConfigs() of security configs > > without > > > > the > > > > > > > > listener > > > > > > > > > > prefix, since we need to prevent the whole cluster being > > made > > > > > > > unusable. > > > > > > > > > > > > > > > > > > > > 4. Thank you, will make a note of that. > > > > > > > > > > > > > > > > > > > > 5. When we are upgrading (from 1.0 to 2.0 for example), > my > > > > > > > > understanding > > > > > > > > > is > > > > > > > > > > that we set inter.broker.protocol.version=1.0, do a > > rolling > > > > > > upgrade > > > > > > > of > > > > > > > > > the > > > > > > > > > > whole cluster and when all brokers are at 2.0, we do > > another > > > > > > rolling > > > > > > > > > > upgrade with inter.broker.protocol.version=2.0. Jason's > > > > suggestion > > > > > > > was > > > > > > > > > to > > > > > > > > > > avoid the second rolling upgrade by enabling dynamic > > update of > > > > > > > > > > inter.broker.protocol.version. To set > > > > > > inter.broker.protocol.version= > > > > > > > > 2.0 > > > > > > > > > > dynamically, we need to verify not just that the current > > > > broker is > > > > > > on > > > > > > > > > > version 2.0, but that all brokers int the cluster are on > > > > version > > > > > > 2.0 > > > > > > > (I > > > > > > > > > > thought that was the reason for the second rolling > > upgrade). > > > > The > > > > > > > broker > > > > > > > > > > version in ZK would enable that verification before > > performing > > > > the > > > > > > > > > update. > > > > > > > > > > > > > > > > > > > > 6. The config source would be > STATIC_BROKER_CONFIG/DYNAMIC_ > > > > > > > > > BROKER_CONFIG, > > > > > > > > > > the config name would be listener.name.listenerA. > configX. > > And > > > > > > > synonyms > > > > > > > > > > list > > > > > > > > > > in describeConfigs() would list listener.name.listenerA. > > > > configX > > > > > > as > > > > > > > > well > > > > > > > > > > as > > > > > > > > > > configX. > > > > > > > > > > > > > > > > > > > > 7. I think `default` is an overused terminology already. > > When > > > > > > configs > > > > > > > > are > > > > > > > > > > described, they return a flag indicating if the value is > a > > > > default. > > > > > > > And > > > > > > > > > in > > > > > > > > > > the broker, we have so many levels of configs already and > > we > > > > are > > > > > > > adding > > > > > > > > > so > > > > > > > > > > many more, that it may be better to use a different term. > > It > > > > > > doesn't > > > > > > > > have > > > > > > > > > > to be synonyms, but since we want to use the same term > for > > > > topics > > > > > > and > > > > > > > > > > brokers and we have listener configs which override > > > > non-prefixed > > > > > > > > security > > > > > > > > > > configs, perhaps it is ok? > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > > > Rajini > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Dec 6, 2017 at 11:50 PM, Jun Rao < > j...@confluent.io > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > A couple more things. > > > > > > > > > > > > > > > > > > > > > > 6. For the SSL/SASL configurations with the listener > > prefix, > > > > do > > > > > > we > > > > > > > > need > > > > > > > > > > > another level in config_source since it's neither topic > > nor > > > > > > broker? > > > > > > > > > > > > > > > > > > > > > > 7. For include_synonyms in DescribeConfigs, the name > > makes > > > > sense > > > > > > > for > > > > > > > > > the > > > > > > > > > > > topic level configs. Not sure if it makes sense for > other > > > > > > > > hierarchies. > > > > > > > > > > > Perhaps sth more generic like default will be better? > > > > > > > > > > > > > > > > > > > > > > Thanks, > > > > > > > > > > > > > > > > > > > > > > Jun > > > > > > > > > > > > > > > > > > > > > > On Wed, Dec 6, 2017 at 3:41 PM, Jun Rao < > > j...@confluent.io> > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > Hi, Rajini, > > > > > > > > > > > > > > > > > > > > > > > > Thanks for the kip. Looks good overall. A few > comments > > > > below. > > > > > > > > > > > > > > > > > > > > > > > > 1. "num.replica.fetchers: Affinity of partitions to > > threads > > > > > > will > > > > > > > be > > > > > > > > > > > > preserved for ordering." Does that mean the new > fetcher > > > > threads > > > > > > > > won't > > > > > > > > > > be > > > > > > > > > > > > used until new partitions are added? This may be > > limiting. > > > > > > > > > > > > > > > > > > > > > > > > 2. I am wondering how the result from > > > > > > > reporter.validate(Map<String, > > > > > > > > > ?> > > > > > > > > > > > > configs) will be used. If it returns false, do we > > return > > > > false > > > > > > to > > > > > > > > the > > > > > > > > > > > admin > > > > > > > > > > > > client for the validation call, which will seem a bit > > > > weird? > > > > > > > > > > > > > > > > > > > > > > > > 3. For the SSL and SASL configuration changes, do we > > > > support > > > > > > > those > > > > > > > > > with > > > > > > > > > > > > the listener prefix (e.g., external-ssl-lisener.ssl. > > > > > > > > > > keystore.location). > > > > > > > > > > > > If so, do we plan to include them in the result of > > > > > > > > describeConfigs()? > > > > > > > > > > > > > > > > > > > > > > > > 4. "Updates to advertised.listeners will re-register > > the > > > > new > > > > > > > > listener > > > > > > > > > > in > > > > > > > > > > > > ZK". To support this, we will likely need additional > > logic > > > > in > > > > > > the > > > > > > > > > > > > controller such that the controller can broadcast the > > > > metadata > > > > > > > with > > > > > > > > > the > > > > > > > > > > > new > > > > > > > > > > > > listeners to every broker. > > > > > > > > > > > > > > > > > > > > > > > > 5. Including broker version in broker registration in > > ZK. > > > > I am > > > > > > > not > > > > > > > > > sure > > > > > > > > > > > > the usage of that. Each broker knows its version. So, > > is > > > > that > > > > > > for > > > > > > > > the > > > > > > > > > > > > controller? > > > > > > > > > > > > > > > > > > > > > > > > Jun > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Dec 5, 2017 at 11:05 AM, Colin McCabe < > > > > > > > cmcc...@apache.org> > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > >> On Tue, Dec 5, 2017, at 06:01, Rajini Sivaram wrote: > > > > > > > > > > > >> > Hi Colin, > > > > > > > > > > > >> > > > > > > > > > > > > >> > KAFKA-5722 already has an owner, so I didn't want > to > > > > confuse > > > > > > > the > > > > > > > > > two > > > > > > > > > > > >> > KIPs. They can be done independently of each > > other. The > > > > > > goal > > > > > > > is > > > > > > > > > to > > > > > > > > > > > try > > > > > > > > > > > >> and > > > > > > > > > > > >> > validate every config to the minimum validation > > already > > > > in > > > > > > the > > > > > > > > > > broker > > > > > > > > > > > >> for > > > > > > > > > > > >> > the static configs, but in some cases to a more > > > > restrictive > > > > > > > > level. > > > > > > > > > > So > > > > > > > > > > > a > > > > > > > > > > > >> > typo like a file-not-found or class-not-found > would > > > > > > definitely > > > > > > > > > fail > > > > > > > > > > > the > > > > > > > > > > > >> > AlterConfigs request (validation is performed by > > > > > > AlterConfigs > > > > > > > > > > > regardless > > > > > > > > > > > >> > of validateOnly flag). I am working out the > > additional > > > > > > > > validation > > > > > > > > > I > > > > > > > > > > > can > > > > > > > > > > > >> > perform as I implement updates for each config. > For > > > > example, > > > > > > > > > > > >> > inter-broker keystore update will not be allowed > > unless > > > > it > > > > > > can > > > > > > > > be > > > > > > > > > > > >> > verified against the currently configured > > truststore. > > > > > > > > > > > >> > > > > > > > > > > > >> HI Rajini, > > > > > > > > > > > >> > > > > > > > > > > > >> I agree. It's probably better to avoid expanding > the > > > > scope of > > > > > > > > > > KIP-226. > > > > > > > > > > > >> I hope we can get to KAFKA-5722 soon, though, since > it > > > > will > > > > > > > really > > > > > > > > > > > >> improve the user experience for this feature. > > > > > > > > > > > >> > > > > > > > > > > > >> regards, > > > > > > > > > > > >> Colin > > > > > > > > > > > >> > > > > > > > > > > > >> > > > > > > > > > > > > >> > On Sat, Dec 2, 2017 at 10:15 PM, Colin McCabe < > > > > > > > > cmcc...@apache.org > > > > > > > > > > > > > > > > > > > > > >> wrote: > > > > > > > > > > > >> > > > > > > > > > > > > >> > > On Tue, Nov 28, 2017, at 14:48, Rajini Sivaram > > wrote: > > > > > > > > > > > >> > > > Hi Colin, > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > > Thank you for reviewing the KIP. > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > > *kaka-configs.sh* will be converted to use > > > > *AdminClient* > > > > > > > > under > > > > > > > > > > > >> > > > KAFKA-5722. > > > > > > > > > > > >> > > > This is targeted for the next release (1.1.0). > > Under > > > > > > this > > > > > > > > KIP, > > > > > > > > > > we > > > > > > > > > > > >> will > > > > > > > > > > > >> > > > implement *AdminClient#alterConfigs* for the > > dynamic > > > > > > > configs > > > > > > > > > > > listed > > > > > > > > > > > >> in > > > > > > > > > > > >> > > > the KIP. This will include validation of the > > > > configs and > > > > > > > > will > > > > > > > > > > > return > > > > > > > > > > > >> > > > appropriate errors if configs are invalid. > > > > Integration > > > > > > > tests > > > > > > > > > > will > > > > > > > > > > > >> also be > > > > > > > > > > > >> > > > added using AdmnClient. Only the actual > > conversion > > > > of > > > > > > > > > > > ConfigCommand > > > > > > > > > > > >> to > > > > > > > > > > > >> > > > use AdminClient will be left to be done under > > > > > > KAFKA-5722. > > > > > > > > > > > >> > > > > > > > > > > > > > >> > > Hi Rajini, > > > > > > > > > > > >> > > > > > > > > > > > > > >> > > It seems like there is no KIP yet for > KAFKA-5722. > > > > Does it > > > > > > > > make > > > > > > > > > > > sense > > > > > > > > > > > >> to > > > > > > > > > > > >> > > describe the conversion of kafka-configs.sh to > use > > > > > > > AdminClient > > > > > > > > > in > > > > > > > > > > > >> > > KIP-226? Since the AlterConfigs RPCs already > > exist, > > > > it > > > > > > > should > > > > > > > > > be > > > > > > > > > > > >> pretty > > > > > > > > > > > >> > > straightforward. This would also let us add > some > > > > > > > information > > > > > > > > > > about > > > > > > > > > > > >> how > > > > > > > > > > > >> > > errors will be handled, which is pretty > important > > for > > > > > > users. > > > > > > > > > For > > > > > > > > > > > >> > > example, will kafka-configs.sh give an error if > > the > > > > user > > > > > > > > makes a > > > > > > > > > > > typo > > > > > > > > > > > >> > > when setting a configuration? > > > > > > > > > > > >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > > Once KAFKA-5722 is implemented,* > > kafka-confgs.sh* > > > > can be > > > > > > > > used > > > > > > > > > to > > > > > > > > > > > >> obtain > > > > > > > > > > > >> > > > the current configuration, which can be > > redirected > > > > to a > > > > > > > text > > > > > > > > > > file > > > > > > > > > > > to > > > > > > > > > > > >> > > create a > > > > > > > > > > > >> > > > static *server.properties* file. This should > > help > > > > when > > > > > > > > > > downgrading > > > > > > > > > > > >> - but > > > > > > > > > > > >> > > > it does require brokers to be running. We can > > also > > > > > > > document > > > > > > > > > how > > > > > > > > > > to > > > > > > > > > > > >> obtain > > > > > > > > > > > >> > > > the properties using *zookeeper-shell.sh* > while > > > > > > > downgrading > > > > > > > > if > > > > > > > > > > > >> brokers > > > > > > > > > > > >> > > are > > > > > > > > > > > >> > > > down. > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > > If we rename properties, we should add the new > > > > property > > > > > > to > > > > > > > > ZK > > > > > > > > > > > based > > > > > > > > > > > >> on > > > > > > > > > > > >> > > > the value of the old property when the > upgraded > > > > broker > > > > > > > > starts > > > > > > > > > > up. > > > > > > > > > > > >> But we > > > > > > > > > > > >> > > > would probably leave the old property as is. > > The old > > > > > > > > property > > > > > > > > > > will > > > > > > > > > > > >> be > > > > > > > > > > > >> > > returned > > > > > > > > > > > >> > > > and used as a synonym only as long as the > > broker is > > > > on a > > > > > > > > > version > > > > > > > > > > > >> where it > > > > > > > > > > > >> > > > is still valid. But it can remain in ZK and be > > > > updated > > > > > > if > > > > > > > > > > > >> downgrading - > > > > > > > > > > > >> > > > it will be up to the user to update the old > > > > property if > > > > > > > > > > > downgrading > > > > > > > > > > > >> or > > > > > > > > > > > >> > > > delete it if not needed. Renaming properties > is > > > > likely > > > > > > to > > > > > > > be > > > > > > > > > > > >> confusing > > > > > > > > > > > >> > > in any > > > > > > > > > > > >> > > > case even without dynamic configs, so > hopefully > > it > > > > will > > > > > > be > > > > > > > > > very > > > > > > > > > > > >> rare. > > > > > > > > > > > >> > > > > > > > > > > > > > >> > > Sounds good. > > > > > > > > > > > >> > > > > > > > > > > > > > >> > > best, > > > > > > > > > > > >> > > Colin > > > > > > > > > > > >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > > Rajini > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > > On Tue, Nov 28, 2017 at 7:47 PM, Colin McCabe > < > > > > > > > > > > cmcc...@apache.org > > > > > > > > > > > > > > > > > > > > > > > >> > > wrote: > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > > > Hi Rajini, > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > This seems like a nice improvement! > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > One thing that is a bit concerning is that, > if > > > > > > > > > > > >> bin/kafka-configs.sh is > > > > > > > > > > > >> > > > > used, there is no way for the broker to > give > > > > feedback > > > > > > > or > > > > > > > > > > error > > > > > > > > > > > >> > > > > messages. The broker can't say "sorry, I > > can't > > > > > > > > reconfigure > > > > > > > > > > that > > > > > > > > > > > >> in > > > > > > > > > > > >> > > that > > > > > > > > > > > >> > > > > way." Or even "that configuration property > > is not > > > > > > > > > > > reconfigurable > > > > > > > > > > > >> in > > > > > > > > > > > >> > > > > this version of the software." It seems > like > > in > > > > the > > > > > > > > > examples > > > > > > > > > > > >> give, > > > > > > > > > > > >> > > > > users will simply set a configuration using > > > > > > > > > > > bin/kafka-configs.sh, > > > > > > > > > > > >> but > > > > > > > > > > > >> > > > > then they have to check the broker log files > > to > > > > see if > > > > > > > it > > > > > > > > > > could > > > > > > > > > > > >> > > actually > > > > > > > > > > > >> > > > > be applied. And even if it couldn't be > > applied, > > > > then > > > > > > it > > > > > > > > > still > > > > > > > > > > > >> lingers > > > > > > > > > > > >> > > > > in ZooKeeper. > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > This seems like it would lead to a lot of > user > > > > > > > confusion, > > > > > > > > > > since > > > > > > > > > > > >> they > > > > > > > > > > > >> > > get > > > > > > > > > > > >> > > > > no feedback when reconfiguring something. > For > > > > > > example, > > > > > > > > > there > > > > > > > > > > > >> will be a > > > > > > > > > > > >> > > > > lot of scenarios where someone finds a > > > > reconfiguration > > > > > > > > > command > > > > > > > > > > > on > > > > > > > > > > > >> > > > > Google, runs it, but then it doesn't do > > anything > > > > > > because > > > > > > > > the > > > > > > > > > > > >> software > > > > > > > > > > > >> > > > > version is different. And there's no error > > > > message or > > > > > > > > > > feedback > > > > > > > > > > > >> about > > > > > > > > > > > >> > > > > this. It just doesn't work. > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > To prevent this, I think we should convert > > > > > > > > > > bin/kafka-configs.sh > > > > > > > > > > > >> to use > > > > > > > > > > > >> > > > > AdminClient's AlterConfigsRequest. This > > allows > > > > us to > > > > > > > > detect > > > > > > > > > > > >> scenarios > > > > > > > > > > > >> > > > > where, because of a typo, different software > > > > version, > > > > > > > or a > > > > > > > > > > value > > > > > > > > > > > >> of the > > > > > > > > > > > >> > > > > wrong type (eg. string vs. int), the given > > > > > > configuration > > > > > > > > > > cannot > > > > > > > > > > > be > > > > > > > > > > > >> > > > > applied. We really should convert > > > > kafka-configs.sh to > > > > > > > use > > > > > > > > > > > >> AdminClient > > > > > > > > > > > >> > > > > anyway, for all the usual reasons-- people > > want to > > > > > > lock > > > > > > > > down > > > > > > > > > > > >> ZooKeeper, > > > > > > > > > > > >> > > > > ACLs should be enforced, internal > > representations > > > > > > should > > > > > > > > be > > > > > > > > > > > >> hidden, we > > > > > > > > > > > >> > > > > should support environments where ZK is not > > > > exposed, > > > > > > > etc. > > > > > > > > > etc. > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > Another issue that I see here is, how does > > this > > > > > > interact > > > > > > > > > with > > > > > > > > > > > >> > > downgrade? > > > > > > > > > > > >> > > > > Presumably, if the user downgrades to a > > version > > > > that > > > > > > > > > doesn't > > > > > > > > > > > >> support > > > > > > > > > > > >> > > > > KIP-226, all the dynamic configurations > > stored in > > > > ZK > > > > > > > > revert > > > > > > > > > to > > > > > > > > > > > >> whatever > > > > > > > > > > > >> > > > > value they have in the local config files. > > Do we > > > > need > > > > > > > to > > > > > > > > > > have a > > > > > > > > > > > >> > > utility > > > > > > > > > > > >> > > > > that can reify the actual applied > > configuration > > > > into a > > > > > > > > local > > > > > > > > > > > text > > > > > > > > > > > >> file, > > > > > > > > > > > >> > > > > to make downgrades less painful? > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > With regard to upgrades, what happens if we > > > > change the > > > > > > > > name > > > > > > > > > > of a > > > > > > > > > > > >> > > > > configuration key in the future? For > > example, if > > > > we > > > > > > > > decide > > > > > > > > > to > > > > > > > > > > > >> rename > > > > > > > > > > > >> > > > > min.insync.replicas to min.in.sync.replicas, > > > > > > presumably > > > > > > > we > > > > > > > > > > will > > > > > > > > > > > >> > > > > deprecate the old key name. And then > perhaps > > it > > > > will > > > > > > be > > > > > > > > > > removed > > > > > > > > > > > >> in a > > > > > > > > > > > >> > > > > future release, such as Apache Kafka 2.0. > In > > this > > > > > > > > scenario, > > > > > > > > > > > >> should the > > > > > > > > > > > >> > > > > Kafka upgrade process change the name of the > > > > > > > configuration > > > > > > > > > key > > > > > > > > > > > in > > > > > > > > > > > >> ZK > > > > > > > > > > > >> > > > > from min.insync.replicas to > > min.in.sync.replicas? > > > > > > > > Obviously > > > > > > > > > > > this > > > > > > > > > > > >> will > > > > > > > > > > > >> > > > > make downgrades harder, if so. But if it > > doesn't, > > > > > > then > > > > > > > > > > removing > > > > > > > > > > > >> > > > > deprecated configuration key synonyms might > > become > > > > > > very > > > > > > > > > > > difficult. > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > best, > > > > > > > > > > > >> > > > > Colin > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > On Wed, Nov 22, 2017, at 12:52, Rajini > Sivaram > > > > wrote: > > > > > > > > > > > >> > > > > > Hi Tom, > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > No, I am not proposing this as a way to > > > > configure > > > > > > > > > > replication > > > > > > > > > > > >> quotas. > > > > > > > > > > > >> > > > > > When > > > > > > > > > > > >> > > > > > you describe broker configs using > > AdminClient, > > > > you > > > > > > > will > > > > > > > > > see > > > > > > > > > > > all > > > > > > > > > > > >> the > > > > > > > > > > > >> > > > > > configs > > > > > > > > > > > >> > > > > > persisted in /configs/brokers/<brokerId> > in > > > > > > ZooKeeper > > > > > > > > and > > > > > > > > > > this > > > > > > > > > > > >> > > includes > > > > > > > > > > > >> > > > > > leader.replication.throttled.rate, > > > > > > > > follower.replication. > > > > > > > > > > > >> > > throttled.rate > > > > > > > > > > > >> > > > > > etc. But > > > > > > > > > > > >> > > > > > the broker configs that can be altered > using > > > > > > > AdminClient > > > > > > > > > as > > > > > > > > > > a > > > > > > > > > > > >> result > > > > > > > > > > > >> > > of > > > > > > > > > > > >> > > > > > this KIP are those explicitly stated in > the > > KIP > > > > > > (does > > > > > > > > not > > > > > > > > > > > >> include > > > > > > > > > > > >> > > any of > > > > > > > > > > > >> > > > > > the quota configs). > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > Regards, > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > Rajini > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > On Wed, Nov 22, 2017 at 7:54 PM, Tom > > Bentley < > > > > > > > > > > > >> t.j.bent...@gmail.com> > > > > > > > > > > > >> > > > > > wrote: > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > > Hi Rajini, > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > > > > > > Just to clarify, are you proposing this > > as a > > > > way > > > > > > to > > > > > > > > > > > configure > > > > > > > > > > > >> > > > > interbroker > > > > > > > > > > > >> > > > > > > throttling/quotas? I don't think you > are, > > just > > > > > > > wanted > > > > > > > > to > > > > > > > > > > > check > > > > > > > > > > > >> > > (since > > > > > > > > > > > >> > > > > > > KIP-179 proposes a different mechanism > for > > > > setting > > > > > > > > them > > > > > > > > > > > which > > > > > > > > > > > >> > > supports > > > > > > > > > > > >> > > > > > > their automatic removal). > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > > > > > > Cheers, > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > > > > > > Tom > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > > > > > > On 22 November 2017 at 18:28, Rajini > > Sivaram < > > > > > > > > > > > >> > > rajinisiva...@gmail.com> > > > > > > > > > > > >> > > > > > > wrote: > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > > > > > > > I have made an update to the KIP to > > > > optionally > > > > > > > > return > > > > > > > > > > all > > > > > > > > > > > >> the > > > > > > > > > > > >> > > config > > > > > > > > > > > >> > > > > > > > synonyms in *DescribeConfigsResponse*. > > The > > > > > > > synonyms > > > > > > > > > are > > > > > > > > > > > >> returned > > > > > > > > > > > >> > > in > > > > > > > > > > > >> > > > > the > > > > > > > > > > > >> > > > > > > > order of precedence. > > AlterConfigsResponse > > > > will > > > > > > not > > > > > > > > be > > > > > > > > > > > >> modified > > > > > > > > > > > >> > > by the > > > > > > > > > > > >> > > > > > > KIP. > > > > > > > > > > > >> > > > > > > > Since many configs already have > various > > > > > > overrides > > > > > > > > > (e.g. > > > > > > > > > > > >> topic > > > > > > > > > > > >> > > configs > > > > > > > > > > > >> > > > > > > with > > > > > > > > > > > >> > > > > > > > broker overrides, security properties > > with > > > > > > > listener > > > > > > > > > name > > > > > > > > > > > >> > > overrides) > > > > > > > > > > > >> > > > > and > > > > > > > > > > > >> > > > > > > we > > > > > > > > > > > >> > > > > > > > will be adding more levels with > dynamic > > > > configs, > > > > > > > it > > > > > > > > > will > > > > > > > > > > > be > > > > > > > > > > > >> > > useful to > > > > > > > > > > > >> > > > > > > > obtain the full list in order of > > precedence. > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> > > > > > > > On Tue, Nov 21, 2017 at 11:24 AM, > Rajini > > > > > > Sivaram < > > > > > > > > > > > >> > > > > > > rajinisiva...@gmail.com> > > > > > > > > > > > >> > > > > > > > wrote: > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> > > > > > > > > Hi Ted, > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > > You can quote the config name, but > it > > is > > > > not > > > > > > > > > necessary > > > > > > > > > > > for > > > > > > > > > > > >> > > > > deleting a > > > > > > > > > > > >> > > > > > > > > config since the name doesn't > contain > > any > > > > > > > special > > > > > > > > > > > >> characters > > > > > > > > > > > >> > > that > > > > > > > > > > > >> > > > > > > > requires > > > > > > > > > > > >> > > > > > > > > quoting. > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > > On Mon, Nov 20, 2017 at 9:20 PM, Ted > > Yu < > > > > > > > > > > > >> yuzhih...@gmail.com> > > > > > > > > > > > >> > > > > wrote: > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > >> Thanks for the quick response. > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > >> > > > > > > > >> It seems the config following > > > > --delete-config > > > > > > > > > should > > > > > > > > > > be > > > > > > > > > > > >> > > quoted. > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > >> > > > > > > > >> Cheers > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > >> > > > > > > > >> On Mon, Nov 20, 2017 at 12:02 PM, > > Rajini > > > > > > > Sivaram > > > > > > > > < > > > > > > > > > > > >> > > > > > > > rajinisiva...@gmail.com > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > >> > > > > > > > >> wrote: > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > >> > > > > > > > >> > Ted, > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > >> > > > > > > > >> > Have added an example for > > > > --delete-config. > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > >> > > > > > > > >> > On Mon, Nov 20, 2017 at 7:42 PM, > > Ted > > > > Yu < > > > > > > > > > > > >> > > yuzhih...@gmail.com> > > > > > > > > > > > >> > > > > > > wrote: > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > >> > > > > > > > >> > > bq. There is a --delete-config > > option > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > >> > > > > > > > >> > > Consider adding a sample with > the > > > > above > > > > > > > > option > > > > > > > > > to > > > > > > > > > > > >> the KIP. > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > >> > > > > > > > >> > > Thanks > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > >> > > > > > > > >> > > On Mon, Nov 20, 2017 at 11:36 > AM, > > > > Rajini > > > > > > > > > Sivaram > > > > > > > > > > < > > > > > > > > > > > >> > > > > > > > >> > rajinisiva...@gmail.com> > > > > > > > > > > > >> > > > > > > > >> > > wrote: > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > >> > > > > > > > >> > > > Hi Ted, > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > >> > > > Thank you for reviewing the > > KIP. > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > >> > > > *Would decreasing network/IO > > > > threads be > > > > > > > > > > supported > > > > > > > > > > > >> ?* > > > > > > > > > > > >> > > > > > > > >> > > > Yes, As described in the KIP, > > some > > > > > > > > > connections > > > > > > > > > > > >> will be > > > > > > > > > > > >> > > > > closed if > > > > > > > > > > > >> > > > > > > > >> > network > > > > > > > > > > > >> > > > > > > > >> > > > thread count is reduced (and > > > > > > > reconnections > > > > > > > > > will > > > > > > > > > > > be > > > > > > > > > > > >> > > > > processed on > > > > > > > > > > > >> > > > > > > > >> > remaining > > > > > > > > > > > >> > > > > > > > >> > > > threads) > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > >> > > > *What if some keys in configs > > are > > > > not > > > > > > in > > > > > > > > the > > > > > > > > > > Set > > > > > > > > > > > >> > > returned > > > > > > > > > > > >> > > > > > > > >> > > > by reconfigurableConfigs()? > > Would > > > > > > > exception > > > > > > > > > be > > > > > > > > > > > >> thrown ?* > > > > > > > > > > > >> > > > > > > > >> > > > No, *reconfigurableConfigs() > > *will > > > > be > > > > > > > used > > > > > > > > to > > > > > > > > > > > >> decide > > > > > > > > > > > >> > > which > > > > > > > > > > > >> > > > > > > classes > > > > > > > > > > > >> > > > > > > > >> are > > > > > > > > > > > >> > > > > > > > >> > > > notified when a configuration > > > > update is > > > > > > > > > made*. > > > > > > > > > > > >> > > > > > > > >> > **reconfigure(Map<String, > > > > > > > > > > > >> > > > > > > > >> > > ?> > > > > > > > > > > > >> > > > > > > > >> > > > configs)* will be invoked > with > > all > > > > of > > > > > > the > > > > > > > > > > > >> configured > > > > > > > > > > > >> > > > > configs of > > > > > > > > > > > >> > > > > > > > the > > > > > > > > > > > >> > > > > > > > >> > > broker, > > > > > > > > > > > >> > > > > > > > >> > > > similar to > > > > *configure(Map<String, ?> > > > > > > > > > > configs). > > > > > > > > > > > >> *For > > > > > > > > > > > >> > > > > example, > > > > > > > > > > > >> > > > > > > > when > > > > > > > > > > > >> > > > > > > > >> > > > *SslChannelBuilder* is made > > > > > > > reconfigurable, > > > > > > > > > it > > > > > > > > > > > >> could > > > > > > > > > > > >> > > just > > > > > > > > > > > >> > > > > > > create a > > > > > > > > > > > >> > > > > > > > >> new > > > > > > > > > > > >> > > > > > > > >> > > > SslFactory with the latest > > configs, > > > > > > using > > > > > > > > the > > > > > > > > > > > same > > > > > > > > > > > >> code > > > > > > > > > > > >> > > as > > > > > > > > > > > >> > > > > > > > >> > *configure()*. > > > > > > > > > > > >> > > > > > > > >> > > > We avoid reconfiguring > > > > > > *SslChannelBuilder > > > > > > > > > > > >> > > *unnecessarily*, > > > > > > > > > > > >> > > > > *for > > > > > > > > > > > >> > > > > > > > >> example > > > > > > > > > > > >> > > > > > > > >> > > if > > > > > > > > > > > >> > > > > > > > >> > > > a topic config has changed, > > since > > > > topic > > > > > > > > > configs > > > > > > > > > > > >> are not > > > > > > > > > > > >> > > > > listed > > > > > > > > > > > >> > > > > > > in > > > > > > > > > > > >> > > > > > > > >> the > > > > > > > > > > > >> > > > > > > > >> > > > *SslChannelBuilder#** > > > > > > > > > reconfigurableConfigs().* > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > >> > > > *The sample commands for > > > > > > > bin/kafka-configs > > > > > > > > > > > include > > > > > > > > > > > >> > > > > > > '--add-config'. > > > > > > > > > > > >> > > > > > > > >> > Would > > > > > > > > > > > >> > > > > > > > >> > > > there be '--remove-config' ?* > > > > > > > > > > > >> > > > > > > > >> > > > bin/kafka-configs.sh is an > > existing > > > > > > tool > > > > > > > > > whose > > > > > > > > > > > >> > > parameters > > > > > > > > > > > >> > > > > will > > > > > > > > > > > >> > > > > > > not > > > > > > > > > > > >> > > > > > > > >> be > > > > > > > > > > > >> > > > > > > > >> > > > modified by this KIP. There > is > > a > > > > > > > > > > --delete-config > > > > > > > > > > > >> option. > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > >> > > > *ssl.keystore.password > appears > > a > > > > few > > > > > > > lines > > > > > > > > > > above. > > > > > > > > > > > >> Would > > > > > > > > > > > >> > > > > there be > > > > > > > > > > > >> > > > > > > > any > > > > > > > > > > > >> > > > > > > > >> > > > issue with mixture of > > connections > > > > (with > > > > > > > old > > > > > > > > > and > > > > > > > > > > > new > > > > > > > > > > > >> > > > > password) ?* > > > > > > > > > > > >> > > > > > > > >> > > > No, passwords (and the actual > > > > keystore) > > > > > > > are > > > > > > > > > > only > > > > > > > > > > > >> used > > > > > > > > > > > >> > > during > > > > > > > > > > > >> > > > > > > > >> > > > authentication. Any channel > > created > > > > > > using > > > > > > > > the > > > > > > > > > > old > > > > > > > > > > > >> > > SslFactory > > > > > > > > > > > >> > > > > > > will > > > > > > > > > > > >> > > > > > > > >> not > > > > > > > > > > > >> > > > > > > > >> > be > > > > > > > > > > > >> > > > > > > > >> > > > impacted. > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > >> > > > Regards, > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > >> > > > Rajini > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > >> > > > On Mon, Nov 20, 2017 at 4:39 > > PM, > > > > Ted > > > > > > Yu < > > > > > > > > > > > >> > > > > yuzhih...@gmail.com> > > > > > > > > > > > >> > > > > > > > >> wrote: > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > >> > > > > bq. (e.g. increase > network/IO > > > > > > threads) > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > Would decreasing network/IO > > > > threads > > > > > > be > > > > > > > > > > > supported > > > > > > > > > > > >> ? > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > bq. void > > > > reconfigure(Map<String, > > > > > > ?> > > > > > > > > > > > configs); > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > What if some keys in > configs > > are > > > > not > > > > > > in > > > > > > > > the > > > > > > > > > > Set > > > > > > > > > > > >> > > returned > > > > > > > > > > > >> > > > > by > > > > > > > > > > > >> > > > > > > > >> > > > > reconfigurableConfigs() > > > > > > > > > > > >> > > > > > > > >> > > > > ? Would exception be > thrown ? > > > > > > > > > > > >> > > > > > > > >> > > > > If so, please specify which > > > > exception > > > > > > > > would > > > > > > > > > > be > > > > > > > > > > > >> thrown. > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > The sample commands for > > > > > > > bin/kafka-configs > > > > > > > > > > > include > > > > > > > > > > > >> > > > > > > > '--add-config'. > > > > > > > > > > > >> > > > > > > > >> > > > > Would there be > > '--remove-config' > > > > ? > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > bq. Existing connections > will > > > > not be > > > > > > > > > > affected, > > > > > > > > > > > >> new > > > > > > > > > > > >> > > > > connections > > > > > > > > > > > >> > > > > > > > >> will > > > > > > > > > > > >> > > > > > > > >> > use > > > > > > > > > > > >> > > > > > > > >> > > > the > > > > > > > > > > > >> > > > > > > > >> > > > > new keystore. > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > ssl.keystore.password > > appears a > > > > few > > > > > > > lines > > > > > > > > > > > above. > > > > > > > > > > > >> Would > > > > > > > > > > > >> > > > > there > > > > > > > > > > > >> > > > > > > be > > > > > > > > > > > >> > > > > > > > >> any > > > > > > > > > > > >> > > > > > > > >> > > issue > > > > > > > > > > > >> > > > > > > > >> > > > > with mixture of connections > > > > (with old > > > > > > > and > > > > > > > > > new > > > > > > > > > > > >> > > password) ? > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > Cheers > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > On Mon, Nov 20, 2017 at > 5:57 > > AM, > > > > > > Rajini > > > > > > > > > > > Sivaram < > > > > > > > > > > > >> > > > > > > > >> > > rajinisiva...@gmail.com > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > wrote: > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > > Hi all, > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > > I have submitted KIP-226 > to > > > > enable > > > > > > > > > dynamic > > > > > > > > > > > >> > > > > reconfiguration > > > > > > > > > > > >> > > > > > > of > > > > > > > > > > > >> > > > > > > > >> > brokers > > > > > > > > > > > >> > > > > > > > >> > > > > > without restart: > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > > > https://cwiki.apache.org/ > > > > > > > > > > > >> > > confluence/display/KAFKA/KIP- > > > > > > > > > > > >> > > > > > > > >> > > > > > 226+-+Dynamic+Broker+ > > > > Configuration > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > > The KIP proposes to > extend > > the > > > > > > > current > > > > > > > > > > > dynamic > > > > > > > > > > > >> > > > > replication > > > > > > > > > > > >> > > > > > > > quota > > > > > > > > > > > >> > > > > > > > >> > > > > > configuration for brokers > > to > > > > > > support > > > > > > > > > > dynamic > > > > > > > > > > > >> > > > > reconfiguration > > > > > > > > > > > >> > > > > > > > of > > > > > > > > > > > >> > > > > > > > >> a > > > > > > > > > > > >> > > > > > > > >> > > > limited > > > > > > > > > > > >> > > > > > > > >> > > > > > set of configuration > > options > > > > that > > > > > > are > > > > > > > > > > > typically > > > > > > > > > > > >> > > updated > > > > > > > > > > > >> > > > > > > during > > > > > > > > > > > >> > > > > > > > >> the > > > > > > > > > > > >> > > > > > > > >> > > > > lifetime > > > > > > > > > > > >> > > > > > > > >> > > > > > of a broker. > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > > Feedback and suggestions > > are > > > > > > welcome. > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > > Thank you... > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > > Regards, > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > > Rajini > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >