You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "ErikPearson (JIRA)" <ji...@apache.org> on 2018/07/19 18:45:00 UTC

[jira] [Commented] (KAFKA-7044) kafka-consumer-groups.sh NullPointerException describing round robin or sticky assignors

    [ https://issues.apache.org/jira/browse/KAFKA-7044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16549675#comment-16549675 ] 

ErikPearson commented on KAFKA-7044:
------------------------------------

We are running Confluent Platform 4.1.1 and are seeing the same error when describing certain consumer groups.

Error: Executing consumer group command failed due to null

It might be under different circumstances, however.  We can run kafka-consumer-groups from a Confluent Platform 3.3.1 deployment and the same describe command works but Confluent 4.1.1 doesn't.  It seems like a regression.

Here is what we notice on our group, running the current Apache origin/master:

When getLogEndOffsets(topicPartitions: Seq[TopicPartition]) is called, topicPartitions has 16 elements.  In our case it contains one such topicPartition '_sometopic_-11'

The converted .asJava collection still has 16 elements, including '_sometopic_-11'.

But the call to getConsumer.endOffsets() using the converted Java collection only returns a 15 element map.  There is no entry for key '_sometopic_-11' in the map.

Eventually topicPartitions (16 elements) is traversed again, and when it processes that one missing element in the map (15 elements) it hits the null exception.

We don't know what is different with partition 11 on that topic.  All other ones have their offsets returned.

I hope this helps.

 

 

> kafka-consumer-groups.sh NullPointerException describing round robin or sticky assignors
> ----------------------------------------------------------------------------------------
>
>                 Key: KAFKA-7044
>                 URL: https://issues.apache.org/jira/browse/KAFKA-7044
>             Project: Kafka
>          Issue Type: Bug
>          Components: tools
>    Affects Versions: 1.1.0
>         Environment: CentOS 7.4, Oracle JDK 1.8
>            Reporter: Jeff Field
>            Assignee: Vahid Hashemian
>            Priority: Minor
>
> We've recently moved to using the round robin assignor for one of our consumer groups, and started testing the sticky assignor. In both cases, using Kafka 1.1.0 we get a null pointer exception *unless* the group being described is rebalancing:
> {code:java}
> kafka-consumer-groups --bootstrap-server fqdn:9092 --describe --group groupname-for-consumer
> Error: Executing consumer group command failed due to null
> [2018-06-12 01:32:34,179] DEBUG Exception in consumer group command (kafka.admin.ConsumerGroupCommand$)
> java.lang.NullPointerException
> at scala.Predef$.Long2long(Predef.scala:363)
> at kafka.admin.ConsumerGroupCommand$KafkaConsumerGroupService$$anonfun$getLogEndOffsets$2.apply(ConsumerGroupCommand.scala:612)
> at kafka.admin.ConsumerGroupCommand$KafkaConsumerGroupService$$anonfun$getLogEndOffsets$2.apply(ConsumerGroupCommand.scala:610)
> at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
> at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
> at scala.collection.immutable.List.foreach(List.scala:392)
> at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
> at scala.collection.immutable.List.map(List.scala:296)
> at kafka.admin.ConsumerGroupCommand$KafkaConsumerGroupService.getLogEndOffsets(ConsumerGroupCommand.scala:610)
> at kafka.admin.ConsumerGroupCommand$ConsumerGroupService$class.describePartitions(ConsumerGroupCommand.scala:328)
> at kafka.admin.ConsumerGroupCommand$ConsumerGroupService$class.collectConsumerAssignment(ConsumerGroupCommand.scala:308)
> at kafka.admin.ConsumerGroupCommand$KafkaConsumerGroupService.collectConsumerAssignment(ConsumerGroupCommand.scala:544)
> at kafka.admin.ConsumerGroupCommand$KafkaConsumerGroupService$$anonfun$10$$anonfun$13.apply(ConsumerGroupCommand.scala:571)
> at kafka.admin.ConsumerGroupCommand$KafkaConsumerGroupService$$anonfun$10$$anonfun$13.apply(ConsumerGroupCommand.scala:565)
> at scala.collection.immutable.List.flatMap(List.scala:338)
> at kafka.admin.ConsumerGroupCommand$KafkaConsumerGroupService$$anonfun$10.apply(ConsumerGroupCommand.scala:565)
> at kafka.admin.ConsumerGroupCommand$KafkaConsumerGroupService$$anonfun$10.apply(ConsumerGroupCommand.scala:558)
> at scala.Option.map(Option.scala:146)
> at kafka.admin.ConsumerGroupCommand$KafkaConsumerGroupService.collectGroupOffsets(ConsumerGroupCommand.scala:558)
> at kafka.admin.ConsumerGroupCommand$ConsumerGroupService$class.describeGroup(ConsumerGroupCommand.scala:271)
> at kafka.admin.ConsumerGroupCommand$KafkaConsumerGroupService.describeGroup(ConsumerGroupCommand.scala:544)
> at kafka.admin.ConsumerGroupCommand$.main(ConsumerGroupCommand.scala:77)
> at kafka.admin.ConsumerGroupCommand.main(ConsumerGroupCommand.scala)
> [2018-06-12 01:32:34,255] DEBUG Removed sensor with name connections-closed: (org.apache.kafka.common.metrics.Metrics){code}



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