[ 
https://issues.apache.org/jira/browse/KAFKA-2939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15209825#comment-15209825
 ] 

Ewen Cheslack-Postava commented on KAFKA-2939:
----------------------------------------------

Probably worth thinking through how this is going to be impacted by streams and 
connect. Connect already has usages that don't do the streams filtering (and 
where I'm not sure how easy that would be). We have internal producers and 
consumers where we just pass the original configs from the worker. Even cases 
like serializers aren't really handled correctly -- accessing values directly 
works, but iterating over Map entries does not mark them as used. For 
serializers this isn't necessarily an issue, but connectors may more frequently 
have a non-fixed set config keys. In connect we also had to introduce prefixing 
due to potential conflicts because there are just a lot more components to 
configure (thus the newer `AbstractConfig.originalsWithPrefix()` method). And 
connect also has to deal with generic connector configs (things like a `topic` 
list that is managed by the framework) and connector-specific configs (the 
majority of the configs).

Not all of this *has* to be managed via ConfigDef/AbstractConfig and logged, 
but it is today and the current model makes it difficult to account for all 
these different use cases... Overall, I don't think things are actually as 
simple as the original use case accounted for -- I think in the constrained 
context of the clients it probably made sense, but doesn't actually work for 
all the cases we've extended ConfigDef/AbstractConfig to.

Another relevant question is: how often do we think (or know) that this has 
caught real issues? I get the motivation behind it, but I'm not entirely 
convinced of its practical benefit. Especially given that it has not worked as 
expected for at least a couple of releases....

> Make AbstractConfig.logUnused() tunable for clients
> ---------------------------------------------------
>
>                 Key: KAFKA-2939
>                 URL: https://issues.apache.org/jira/browse/KAFKA-2939
>             Project: Kafka
>          Issue Type: Improvement
>            Reporter: Guozhang Wang
>            Assignee: Guozhang Wang
>              Labels: newbie
>             Fix For: 0.10.1.0
>
>
> Today we always log unused configs in KafkaProducer / KafkaConsumer in their 
> constructors, however for some cases like Kafka Streams that make use of 
> these clients, other configs may be passed in to configure Partitioner / 
> Serializer classes, etc. So it would be better to make this function call 
> optional to avoid printing unnecessary and confusing WARN entries.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to