[ 
https://issues.apache.org/jira/browse/KAFKA-3941?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Guozhang Wang resolved KAFKA-3941.
----------------------------------
       Resolution: Fixed
    Fix Version/s: 0.10.0.1

Issue resolved by pull request 1610
[https://github.com/apache/kafka/pull/1610]

> Avoid applying eviction listener in InMemoryKeyValueLoggedStore
> ---------------------------------------------------------------
>
>                 Key: KAFKA-3941
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3941
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>            Reporter: Guozhang Wang
>            Assignee: Guozhang Wang
>             Fix For: 0.10.0.1
>
>
> This is reported by [~norwood].
> In {{InMemoryKeyValueLoggedStore}} we set the eviction listener while 
> creating the store, which records the evicted records as "deleted" in the 
> changelogger, which will then send a tombstone record to the corresponding 
> changelog topic partition. However, when restoring the store, although we are 
> using the inner store's putInternal call and hence by-pass the logging since 
> it is not needed, this eviction listener will still call the outer store's 
> deleted call and hence still sends the tombstone record, causing the 
> restoration process to fail, as it is not expecting the changelog 
> log-end-offset to increase (i.e. more messages are appended to it) while 
> restoration is going on.
> We should defer the listener initialization until the end of the {{init}} 
> call after the restoration is completed, and also making sure the "register" 
> call is made at the inner stores only.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to