Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Status

Current state:  Under Discussion Adopted (2.0.0)

Discussion threadTBD

JIRA

Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-6560

...

This KIP would propose to add a single fetch API to the WindowedStoreWindowStore, and use that in the KStreamWindowedAggregate KStreamWindowAggregate / KStreamWindowedReduce KStreamWindowReduce operators.

ReadOnlyWindowStore interface

...

  1. For all implementations of the WindowedStore, including CachingWindowedStoreCachingWindowStore, RocksDBWindowedStoreRocksDBWindowStore, etc, add the implementations of this API for a single value lookup accordingly.
  2. In KStreamWindowedAggregate and KStreamWindowedReduce, replace the "fetch(K, long start, long to)" with this newly added API.

...

  • Users implementing their own state stores would be affected by the interface changes. More specifically:

      Rejected Alternatives

        • For user's customized window store implementation, they need to make code changes to implement this additional API. And then recompile their code before doing the rolling bounce to upgrade to the new version.

      Rejected Alternatives

      • We have also considered adding this as an internal interface and do the optimization only for DSL implementations to avoid breaking code. We think this is not worthy as we don't expect people to have lots of custom window store implementations and thus only a very small faction of users (if any) would be affected.None