Tommy Becker created KAFKA-7700:
-----------------------------------

             Summary: AbstractConfig does not honor Properties defaults
                 Key: KAFKA-7700
                 URL: https://issues.apache.org/jira/browse/KAFKA-7700
             Project: Kafka
          Issue Type: Bug
          Components: config
    Affects Versions: 2.1.0
            Reporter: Tommy Becker
            Assignee: Tommy Becker


Kafka clients such as the Consumer and Producer require various configuration 
parameters to work. In the case of the Consumer and Producer, these parameters 
are provided by passing either a {{Map<String, ?>}} or {{Properties}} instance 
to the respective constructor.

{{Properties}} is a legacy class (akin to {{Vector)}} that adds no value above 
{{Map<String, ?>}} other than the ability to wrap another {{Properties}} 
instance that provides defaults. But Kafka negates this benefit by treating the 
{{Properties}} instance as a {{Map}}, which only works due to an unfortunate 
decision to have {{Properties}} extend {{Hashtable}}.  Such treatment bypasses 
the defaults because they are only consulted by {{Properties.getProperty()}}. 
The net result is that when creating Kafka clients via {{Properties}}, any 
configuration from its defaults is ignored.

This has been reported several times over the years as KAFKA-1909, KAFKA-2184, 
KAFKA-3049, and KAFKA-5514. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to