You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Guozhang Wang (JIRA)" <ji...@apache.org> on 2017/09/19 13:51:01 UTC

[jira] [Created] (KAFKA-5932) Avoid call fetchPrevious in FlushListeners

Guozhang Wang created KAFKA-5932:
------------------------------------

             Summary: Avoid call fetchPrevious in FlushListeners
                 Key: KAFKA-5932
                 URL: https://issues.apache.org/jira/browse/KAFKA-5932
             Project: Kafka
          Issue Type: Improvement
          Components: streams
            Reporter: Guozhang Wang


When caching is turned on for a window or session store, upon {{store.put()}} the cache may gets flushed, trigger the dirty flush listener calling {{maybeForward()}}, which calls {{fetchPrevious()}}.
Unfortunately {{fetchPrevious()}} could be a very expensive call to make, and sometimes are not necessary:

1. When {{KStreamWindowAggregate.process()}} already gets the previous value when aggregating, so we could passing the old value through the tuple forwarder without calling fetchPrevious again.
2. When we know that {{sendOldValues}} flag is turned off.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)