[ https://issues.apache.org/jira/browse/KAFKA-14848?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kirk True updated KAFKA-14848: ------------------------------ Description: [~rayokota] found some {{{}NullPointerException{}}}s that originate because of a recently introduced error in the {{KafkaConsumer}} constructor. The code was changed to pass the serializers variables into the {{FetchConfig}} constructor. However, this code change incorrectly used the locally-scoped variables, not the instance-scoped variables. Since the locally-scoped variables could be {{{}null{}}}, this results in the {{FetchConfig}} storing {{null}} references, leading to downstream breakage. Suggested change: {noformat} - FetchConfig<K, V> fetchConfig = new FetchConfig<>(config, keyDeserializer, valueDeserializer, isolationLevel); + FetchConfig<K, V> fetchConfig = new FetchConfig<>(config, this.keyDeserializer, this.valueDeserializer, isolationLevel); {noformat} was:[~rayokota] found some {{{}NullPointerException{}}}s that originate because of a recently introduced error in the {{KafkaConsumer}} constructor. The code was changed to pass the serializers variables into the {{FetchConfig}} constructor. However, this code change incorrectly used the locally-scoped variables, not the instance-scoped variables. Since the locally-scoped variables could be {{{}null{}}}, this results in the {{FetchConfig}} storing {{null}} references, leading to downstream breakage. > KafkaConsumer incorrectly passes locally-scoped serializers to FetchConfig > -------------------------------------------------------------------------- > > Key: KAFKA-14848 > URL: https://issues.apache.org/jira/browse/KAFKA-14848 > Project: Kafka > Issue Type: Bug > Components: clients, consumer > Affects Versions: 3.5.0 > Reporter: Kirk True > Assignee: Kirk True > Priority: Major > Original Estimate: 24h > Remaining Estimate: 24h > > [~rayokota] found some {{{}NullPointerException{}}}s that originate because > of a recently introduced error in the {{KafkaConsumer}} constructor. The code > was changed to pass the serializers variables into the {{FetchConfig}} > constructor. However, this code change incorrectly used the locally-scoped > variables, not the instance-scoped variables. Since the locally-scoped > variables could be {{{}null{}}}, this results in the {{FetchConfig}} storing > {{null}} references, leading to downstream breakage. > Suggested change: > {noformat} > - FetchConfig<K, V> fetchConfig = new FetchConfig<>(config, keyDeserializer, > valueDeserializer, isolationLevel); > + FetchConfig<K, V> fetchConfig = new FetchConfig<>(config, > this.keyDeserializer, this.valueDeserializer, isolationLevel); > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)