John Calcote created KAFKA-13686:
------------------------------------
Summary: NullPointerException in Selector.pollSelectionKeys
Key: KAFKA-13686
URL: https://issues.apache.org/jira/browse/KAFKA-13686
Project: Kafka
Issue Type: Bug
Components: clients
Affects Versions: 0.11.0.1
Environment: Linux/Centos 7.6, Java JVM - 1.8.0_181
Reporter: John Calcote
Seeing repeated NPEs in Selector.pollSelectionKeys:
{noformat}
java.lang.NullPointerException: null
at
org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:353)
~[kafka-clients-0.11.0.1.jar:?]
at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
~[kafka-clients-0.11.0.1.jar:?]
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:433)
~[kafka-clients-0.11.0.1.jar:?]
at
org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:232)
~[kafka-clients-0.11.0.1.jar:?]
at
org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:208)
~[kafka-clients-0.11.0.1.jar:?]
at
org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:184)
~[kafka-clients-0.11.0.1.jar:?]
at
org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureCoordinatorReady(AbstractCoordinator.java:217)
~[kafka-clients-0.11.0.1.jar:?]
at
org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureCoordinatorReady(AbstractCoordinator.java:203)
~[kafka-clients-0.11.0.1.jar:?]
at
org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.poll(ConsumerCoordinator.java:286)
~[kafka-clients-0.11.0.1.jar:?]
at
org.apache.kafka.clients.consumer.KafkaConsumer.pollOnce(KafkaConsumer.java:1078)
~[kafka-clients-0.11.0.1.jar:?]
at
org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1043)
~[kafka-clients-0.11.0.1.jar:?]
{noformat}
{noformat}
void pollSelectionKeys(Iterable<SelectionKey> selectionKeys,
boolean isImmediatelyConnected,
long currentTimeNanos) {
Iterator<SelectionKey> iterator = selectionKeys.iterator();
while (iterator.hasNext()) {
SelectionKey key = iterator.next();
iterator.remove();
KafkaChannel channel = channel(key);
long channelStartTimeNanos = recordTimePerConnection ?
time.nanoseconds() : 0;
// register all per-connection metrics at once
sensors.maybeRegisterConnectionMetrics(channel.id()); <----
NPE HERE
if (idleExpiryManager != null)
idleExpiryManager.update(channel.id(), currentTimeNanos);
try {
...
{noformat}
The only two possibilities are:
# sensors is null
# channel is null
sensors is not likely in my mind - it's more likely that the attachment on the
key is null, but I don't have enough background in kafka client code to
determine why this might be.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)