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)

Reply via email to