Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"The configuration foo.bar was supplied but isn't a known config"

When I'm starting a connector in distributed mode (connect-runtime v1.0.0), there are several configuration values that are mandatory. I'm speaking of values like:

offset.storage.topic
offset.storage.partitions
key.converter
config.storage.topic
config.storage.replication.factor
rest.port
status.storage.topic
key.converter.schemas.enable
value.converter.schemas.enable
internal.value.converter
internal.key.converter
internal.key.converter.schemas.enable
internal.value.converter.schemas.enable
status.storage.partitions
status.storage.topic
value.converter
offset.flush.interval.ms
offset.storage.replication.factor
...

Once the connector is started with meaningful values for those properties, it works as expected. But at startup, the log get's flooded with entries like

WARN  o.a.k.c.admin.AdminClientConfig.logUnused - The configuration 'offset.storage.topic' was supplied but isn't a known config.

for all above mentioned, mandatory configuration values. There are three config classes which are logging these warnings:

org.apache.kafka.clients.consumer.ConsumerConfig
org.apache.kafka.clients.admin.AdminClientConfig
org.apache.kafka.clients.producer.ProducerConfig

Since now I haven't found a reason for this behavior. What's missing here or what is wrong, that causes this warnings? Do I have to worry about this warnings?

like image 412
Mabi Avatar asked Jan 10 '18 14:01

Mabi


1 Answers

There's a ticket on this issue, still open as of Nov'19: https://issues.apache.org/jira/browse/KAFKA-7509

When running Connect, the logs contain quite a few warnings about "The configuration '{}' was supplied but isn't a known config." This occurs when Connect creates producers, consumers, and admin clients, because the AbstractConfig is logging unused configuration properties upon construction. It's complicated by the fact that the Producer, Consumer, and AdminClient all create their own AbstractConfig instances within the constructor, so we can't even call its ignore(String key) method.

And similar issue exists for KafkaStreams: https://issues.apache.org/jira/browse/KAFKA-6793

like image 66
Alexey Avatar answered Sep 21 '22 18:09

Alexey