The API for ReadOnlyKeyValueStore.range method promises the returned iterator will not return null values. However, after upgrading from 0.10.0.0 to 0.10.1.1 we found null values are returned causing NPEs on our side.
I found this happens after removing entries from the store and I found resemblance to
SAMZA-94 defect. The problem seems to be as it was there, when deleting entries and having a serializer that does not return null when null is passed in, the state store doesn't actually delete that key/value pair but the iterator will return null value for that key.
When I modified our serilizer to return null when null is passed in, the problem went away. However, I believe this should be fixed in kafka streams, perhaps with a similar approach as