[ https://issues.apache.org/jira/browse/KAFKA-10843?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17251690#comment-17251690 ]
Bruno Cadonna edited comment on KAFKA-10843 at 12/18/20, 11:02 AM: ------------------------------------------------------------------- I had another look at the code and I see two options {{metadataForKey()}} might return {{null}}. 1. There are no source topics in the topology for the given state store (see [code|https://github.com/apache/kafka/blob/0efa8fb0f4c73d92b6e55a112fa45417a67a7dc2/streams/src/main/java/org/apache/kafka/streams/processor/internals/StreamsMetadataState.java#L165]). 2. Kafka Streams finds the wrong source topic partition for the given key (see [code|https://github.com/apache/kafka/blob/0efa8fb0f4c73d92b6e55a112fa45417a67a7dc2/streams/src/main/java/org/apache/kafka/streams/processor/internals/StreamsMetadataState.java#L411]). I guess, option 1 does not apply since the same topology worked in your other environments. Is your data partitioned differently in your PROD environment than in your other environments? Do you use a custom partitioner for the data in your PROD environment? was (Author: cadonna): I had another look at the code and I see two options {{metadataForKey()}} might return {{null}}. 1. There are no source topics in the topology for the given state store (see [code|https://github.com/apache/kafka/blob/0efa8fb0f4c73d92b6e55a112fa45417a67a7dc2/streams/src/main/java/org/apache/kafka/streams/processor/internals/StreamsMetadataState.java#L165]). 2. Kafka Streams finds the wrong source topic partition for the given key (see [code|https://github.com/apache/kafka/blob/0efa8fb0f4c73d92b6e55a112fa45417a67a7dc2/streams/src/main/java/org/apache/kafka/streams/processor/internals/StreamsMetadataState.java#L411]). I guess, option 1 does not apply since the same topology worked in your other environments. Is your data partitioned differently in your PROD environment than in your other environments? > Kafka Streams metadataForKey method returns null but allMetadata has the > details > -------------------------------------------------------------------------------- > > Key: KAFKA-10843 > URL: https://issues.apache.org/jira/browse/KAFKA-10843 > Project: Kafka > Issue Type: Bug > Components: streams > Affects Versions: 2.5.1 > Reporter: Maria Thomas > Priority: Major > > Our application runs on multiple instances and to enable us to use get the > key information from the state store we use "metadataForKey" method to > retrieve the StreamMetadata and using the hostname do an RPC call to the host > to get the value associated with the key. > This call was working fine in our DEV and TEST environments, however, it is > failing one our production clusters from the start. On further debugging, I > noticed the allMetadata() method was returning the state stores with the host > details as expected. However, it would not be feasible to go through each > store explicitly to get the key details. > To note, the cluster I am using is a stretch cluster. -- This message was sent by Atlassian Jira (v8.3.4#803005)