[ https://issues.apache.org/jira/browse/KAFKA-5717?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16119893#comment-16119893 ]
ASF GitHub Bot commented on KAFKA-5717: --------------------------------------- GitHub user dguy opened a pull request: https://github.com/apache/kafka/pull/3650 KAFKA-5717: InMemoryKeyValueStore should delete keys with null values during restore Fixed a bug in the InMemoryKeyValueStore restoration where a key with a `null` value is written in to the map rather than being deleted. You can merge this pull request into a Git repository by running: $ git pull https://github.com/dguy/kafka kafka-5717 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/3650.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #3650 ---- ---- > [streams] 'null' values in state stores > --------------------------------------- > > Key: KAFKA-5717 > URL: https://issues.apache.org/jira/browse/KAFKA-5717 > Project: Kafka > Issue Type: Bug > Components: streams > Affects Versions: 0.10.2.1, 0.11.0.0 > Reporter: Bart Vercammen > Assignee: Damian Guy > > When restoring the state on an in-memory KeyValue store (at startup of the > Kafka Streams application), the _deleted_ values are put in the store as > _key_ with _value_ {{null}} instead of being removed from the store. > (this happens when the underlying kafka topic segment did not get compacted > yet) > After some digging I came across this in {{InMemoryKeyValueStore<K, V>}}: > {code} > public synchronized void put(K key, V value) { > this.map.put(key, value); > } > {code} > I would assume this implementation misses the check on {{value}} being > {{null}} to *delete* the entry instead of just storing it. > In the RocksDB implementation it is done correctly: > {code} > if (rawValue == null) { > try { > db.delete(wOptions, rawKey); > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)