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

Vinoth Chandar commented on KAFKA-8870:
---------------------------------------

Picking it up, since I have not heard objections

> Prevent dirty reads of Streams state store from Interactive queries
> -------------------------------------------------------------------
>
>                 Key: KAFKA-8870
>                 URL: https://issues.apache.org/jira/browse/KAFKA-8870
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: Vinoth Chandar
>            Priority: Major
>
> Today, Interactive Queries (IQ) against Streams state store could see 
> uncommitted data, even with EOS processing guarantees (these are actually 
> orthogonal, but clarifying since EOS may give the impression that everything 
> is dandy). This is causes primarily because state updates in rocksdb are 
> visible even before the kafka transaction is committed. Thus, if the instance 
> fails, then the failed over instance will redo the uncommited old transaction 
> and the following could be possible during recovery,.
> Value for key K can go from *V0 → V1 → V2* on active instance A, IQ reads V1, 
> instance A fails and any failure/rebalancing will leave the standy instance B 
> rewinding offsets and reprocessing, during which time IQ can again see V0 or 
> V1 or any number of previous values for the same key.
> In this issue, we will plan work towards providing consistency for IQ, for a 
> single row in a single state store. i.e once a query sees V1, it can only see 
> either V1 or V2.
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to