[ https://issues.apache.org/jira/browse/KAFKA-9527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17278285#comment-17278285 ]
Marco Lotz edited comment on KAFKA-9527 at 2/3/21, 6:34 PM: ------------------------------------------------------------ [~mjsax] I see your point. Indeed in this scenario makes more sense to notify the user about it. The bug is caused because of this line [here|https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/consumer/internals/Fetcher.java#L516] - that returns by default a null value on the map. The following method {code:java} client.seek(topicPartition, topicPartitionsAndOffset.get(topicPartition).offset());{code} uses it as an argument call without optional handling - which indeed causes a NPE for keys with null values on the map. [~jbfletch] it think it should be straight forward to fix, do you mind if I assign the bug to me? was (Author: marcolotz): [~mjsax] I see your point. Indeed in this scenario makes more sense to notify the user about it. The bug is caused because of this line [here|https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/consumer/internals/Fetcher.java#L516] - that returns by default a null value on the map. The following method ```java client.seek(topicPartition, topicPartitionsAndOffset.get(topicPartition).offset()); ``` uses it as an argument call without optional handling - which indeed causes a NPE for keys with null values on the map. [~jbfletch] it think it should be straight forward to fix, do you mind if I assign the bug to me? > Application Reset Tool Returns NPE when --to-timestamp or --by-duration are > run on --input-topics with empty partitions > ------------------------------------------------------------------------------------------------------------------------ > > Key: KAFKA-9527 > URL: https://issues.apache.org/jira/browse/KAFKA-9527 > Project: Kafka > Issue Type: Bug > Components: streams, tools > Affects Versions: 2.3.0 > Reporter: jbfletch > Assignee: jbfletch > Priority: Minor > > When running the streams application reset tool with --by-duration or > --to-timestamp if any partitions for a given input topic are empty a NPE is > thrown. I tested this with a topic with 3 partitions, I received a NPE until > all 3 partitions had at least one message. The behavior was the same for > both --to-timestamp and --by-duration. > Error below: > Reset-offsets for input topics [sample-cdc-topic]Reset-offsets for input > topics [sample-cdc-topic]Following input topics offsets will be reset to (for > consumer group des-demo-stream)ERROR: > java.lang.NullPointerExceptionjava.lang.NullPointerException at > kafka.tools.StreamsResetter.resetToDatetime(StreamsResetter.java:496) at > kafka.tools.StreamsResetter.maybeReset(StreamsResetter.java:426) at > kafka.tools.StreamsResetter.maybeResetInputAndSeekToEndIntermediateTopicOffsets(StreamsResetter.java:374) > at kafka.tools.StreamsResetter.run(StreamsResetter.java:164) at > kafka.tools.StreamsResetter.run(StreamsResetter.java:131) at > kafka.tools.StreamsResetter.main(StreamsResetter.java:678) > > -- This message was sent by Atlassian Jira (v8.3.4#803005)