Roman Leventov created KAFKA-9340:
-------------------------------------

             Summary: Potential race condition in AbstractConfig
                 Key: KAFKA-9340
                 URL: https://issues.apache.org/jira/browse/KAFKA-9340
             Project: Kafka
          Issue Type: Bug
            Reporter: Roman Leventov


It's not clear why the {{used}} field in {{AbstractConfig}} should be a 
synchronized set, but if does need to be synchronized, there is a race 
condition in this line: 
[https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/common/config/AbstractConfig.java#L214]

{{keys.removeAll(used);}}

 

Possible fixes:

 1. Document (e. g. in a comment) why {{used}} should be synchronized, and 
replace line 214 with {{synchronized (used) \{ keys.removeAll(used); }}}

 2. Remove unnecessary synchronization of {{used}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to