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

James Cheng commented on KAFKA-6487:
------------------------------------

While waiting for a fix, a workaround would be to skip any entries that come 
back from the iterator, that have null as a value.

This would only work, though, if you never expected that null would be a valid 
value in your use case

 
{code:java}
try (KeyValueIterator<String, String> iter = stateStore.all()) { 
    while (iter.hasNext()) { 
        KeyValue<String, String> keyValue = iter.next(); 
        if (keyValue.value == null) { 
            // skip 
        } else { 
            // do something 
        } 
    } 
}

{code}


> ChangeLoggingKeyValueBytesStore.all() returns null
> --------------------------------------------------
>
>                 Key: KAFKA-6487
>                 URL: https://issues.apache.org/jira/browse/KAFKA-6487
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 1.0.0
>            Reporter: Bill Bejeck
>            Assignee: Bill Bejeck
>            Priority: Major
>
> The  {{ChangeLoggingKeyValueBytesStore}} implements the {{KeyValueStore}} 
> interface which extends the {{ReadOnlyKeyValueStore}} interface.  The Javadoc 
> for {{ReadOnlyKeyValueStore#all}} states the method should never return a 
> {{null}} value.
> But when deleting a record from the {{ChangeLoggingKeyValueBytesStore}} and 
> subsequently calling the {{all}} method, a null value is returned.
>  
> https://issues.apache.org/jira/browse/KAFKA-4750 is a related issue



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

Reply via email to